Мотивация: Я хотел бы искать кадр, а затем делать качественные и точные скриншоты (изображения) из видео.
Длина видео составляет 00:48:43.71 и 23,98 к / с (мы можем думать, что это 24 к / с, не так ли?).
Со ссылкой на эту веб-страницу: создавайте уменьшенное изображение каждые X секунд видео
Я написал несколько команд, которые захватывают кадр каждый час, каждую минуту и каждую секунду.
После того, как истребление изображения, скриншоты фактически взяты из полчаса, полминуты, и полсекунды. Вы поймете в ближайшее время.
Например, команда для захвата кадра каждую минуту, это фактически извлечение кадра за полминуты, что означает 00:00:30, 00:01:30, 00:02:30 и так далее. Вот почему я называю имя файла следующим образом:
ffmpeg -i "video.mp4" -start_number 0 -vf fps=1/60 "B 00-%02d-30.000.png"
(добавление префикса "B" предотвращает перезапись различными командами.)
Например, чтобы захватить кадр каждую секунду с 00:03:00 до 00:04:00, рекомендуется:
ffmpeg -i "video.mp4" -start_number 0 -vf fps=1 -ss 00:03:00 -to 00:04:00 "C 00-03-%02d.500.png"
Чтобы проверить их, мы можем извлечь все кадры с 00:03:29 до 00:03:31:
ffmpeg -copyts -ss 00:03:29 -i "video.mp4" -start_number 0 -to 00:03:31 "D 00-03-29.%03d.png"
Мы можем проверить идентичность следующих файлов изображений:
D 00:03:29.012.png
идентичен C 00:03:29.500.png
.
D 00:03:29.024.png
идентичен B 00:03:30.000.png
.
D 00:03:29.036.png
идентичен C 00:03:30.500.png
.
Это мои выводы из проб и ошибок сегодня утром. Вот мой вопрос:
Давайте возьмем в качестве примера "извлечение кадра ровно каждую минуту", как мы можем получить / что такое команда для получения кадров 00:00:00.000, 00:00:01.000, 00:00:02.000 и так далее?
Я только что слышал о ffmpeg
этим утром. Я до сих пор не знаю, что означает -copyts
(после прочтения документации) и когда мне нужно поставить -ss position
перед -i
и когда поместить ее в выходную часть. Поэтому, пожалуйста , исправьте меня, если я использую неправильные команды.