2012-04-09 5 views
0

Я использую FFmpeg avcodec для декодирования видео в реальном времени - функция avcodec_decode_video2 от libx264, если быть точным. Как уменьшить время декодирования для каждого кадра? В данный момент для каждого кадра требуется 20 мс (размер кадра около 1.5 KB).Tune FFmpeg H.264 Decoder

ответ

0

Хорошо, может быть, это будет полезно для кого-то. Кстати, для декодирования мы используем функцию

avcodec_video_decode2
от FFMPEG. И мы можем сделать задержку меньше двумя способами. Первое: включить
AVCodecContext *ctx->thread_count=N
Но в этом случае мы получаем поток с задержкой, но это не очень хорошо для видео в реальном времени. Второй способ - использовать кодер, который будет представлять собой кодовое изображение в режиме на основе среза, например. libx264. В этом случае задержка по определению отсутствует. Но это делает некоторые ограничения, например. количество потоков - это количество фрагментов.