Как декодировать потоковые данные с помощью библиотеки 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

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