2

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

Например, если скорость видео составляет 24 кадра в секунду, я хотел бы создавать видео-шоу каждые 12, 24, 36, 48 и т.д. Для кадров и создавать видео с этими кадрами.

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

ffmpeg -i input -vf select = 'not(mod(n\, 12))' -vsync vfr image_% 05d.jpg

и создавать видео,

ffmpeg -framerate 24 -i image_% 05d.jpg -c:v libx264 -r 24 -pix_fmt yuv420p output.mpeg

Теперь я хочу знать, есть ли способ пропустить этап сохранения файлов изображений и получить перекодированное видео в одном процессе.

1 ответ1

0

использование

ffmpeg -i input -vf select='not(mod(n\,12)),setpts=N/FRAME_RATE/TB' -r 24 output.mp4

Setpts заставляет выбранные кадры иметь временные метки в непрерывной последовательности в соответствии с выходной частотой кадров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .