LINUX.ORG.RU

История изменений

Исправление zaz, (текущая версия) :

Чисто догадка: Открываете формат контекст, берете видео поток читаете пакеты (кадры) и складываете их в очередь/список. При нахождении ключевого кадра (AV_PKT_FLAG_KEY) очередь можно смело дропать. При получении нужного кадра N декодируете всю очередь накопившихся пакетов - последний фрейм от декодера и будет вашей картинкой.

UPD - если нужен один большой файл со всего потока, то можно погуглить как через libav работать с индексами (если они присутствуют в контейнере) но лично я в этом направлении никогда не работал.

Исходная версия zaz, :

Чисто догадка: Открываете формат контекст, берете видео поток читаете пакеты (кадры) и складываете их в очередь/список. При нахождении ключевого кадра (AV_PKT_FLAG_KEY) очередь можно смело дропать. При получении нужного кадра N декодируете всю очередь накопившихся пакетов - последний фрейм от декодера и будет вашей картинкой.