Как взломать ffmpeg, чтобы считать I-кадры ключевыми кадрами? - PullRequest
2 голосов
/ 30 декабря 2011

Я пытаюсь заставить ffmpeg искать чересстрочные видео h264, и я обнаружил, что могу искать любой кадр, если просто принудительно заставить его.

Я уже взломал декодер, чтобы рассматривать I-Frames как ключевые кадры, и он прекрасно работает с видео, с которыми мне нужно работать. И НИКОГДА не будет никаких видео, закодированных различными кодировщиками.

Тем не менее, я хотел бы найти мне кадр, а не просто кадр.

Что мне нужно сделать, так это взломать создание AVIndexEntry, чтобы оно помечало любой кадр, являющийся I-кадром, как ключевой кадр. Или, в качестве альтернативы, взломайте объект поиска, чтобы вернуть I - Frames.

Код получает немного сложностей, чтобы следовать на этом этапе.

Может кто-нибудь указать мне правильное место в коде ffmpeg, который обрабатывает это?

1 Ответ

1 голос
/ 02 февраля 2012

Насколько я могу судить, это невозможно ...

Но если вы знаете, где находятся I-кадры, либо декодируя все видео, либо просто зная, вы можете вставить материал в информацию AVIndexEntry, хранящуюся в потоке.

У AVIndexEntries есть флаг, который говорит, является ли он ключевым кадром, просто установите его в true на I-кадрах.

К счастью, я знаю, где они находятся в моих видео:)

-mika

...