Как декодировать потоковые данные с помощью библиотеки ffmpegC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как декодировать потоковые данные с помощью библиотеки ffmpeg

Сообщение Anonymous »

Я нашел этот пример на GitHub: avio_read_callback.c. К сожалению, это очень упрощенный пример, поскольку он считывает весь входной файл в память и обрабатывает его сразу.
Есть ли у кого-нибудь лучший пример того, как использовать avio_alloc_context с обратным вызовом чтения и как обрабатывать входящие данные поблочно? В частности, мне нужна следующая информация:
  • Подходящий размер для avio_ctx_buffer_size
  • Правильное возвращаемое значение в обратный вызов чтения, если данных недостаточно.
  • Обработка ситуаций, когда требуется больше памяти после того, как некоторые данные уже
    скопированы, например, при первоначальном сбое avformat_open_input.
У меня есть поток H.264, который иногда работает, в зависимости от размера буфера, но иногда возникают потери данных.

Подробнее здесь: https://stackoverflow.com/questions/787 ... eg-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»