Извлечение видеокадров, отображение времени и номера кадра

Я хотел бы извлечь каждый кадр и его время отображения. Цель будет состоять в том, чтобы позже сравнить выходные данные между двумя видео (эталонное / оригинальное видео и переданное видео) и увидеть, какие кадры отсутствуют. Я планирую использовать Big Buck Bunny ( http://download.blender.org/peach/bigbuckbunny_movies/) в качестве примера видео.

FFMPEG, кажется, является инструментом, который нужно использовать для этого, но я не нашел правильной комбинации опций для моего варианта использования.

Я ожидаю, что мой вывод будет похож на что-то вроде:

    frame = 1, time = 0
    frame = 2, time = 2
    frame = 3, time = 3
    ...
    frame 14315, time = 596

Я надеюсь, что ухудшенное видео будет показывать признаки ухудшения через его вывод с пропущенными кадрами и несинхронизацией времени.

2 ответа

Попробуйте фильтр showinfo. Похоже, это то, что вам нужно. Пример:

ffmpeg -i 1.ts -vf "showinfo" -f null /dev/null

Почему бы не исследовать видео? ffprobe отличный инструмент для этого, в комплекте с ffmpeg,

ffprobe -select_streams v:0 FILE_PATH -show_frames
Другие вопросы по тегам