Извлечение видеокадров, отображение времени и номера кадра
Я хотел бы извлечь каждый кадр и его время отображения. Цель будет состоять в том, чтобы позже сравнить выходные данные между двумя видео (эталонное / оригинальное видео и переданное видео) и увидеть, какие кадры отсутствуют. Я планирую использовать 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