У меня есть фильм, который длится 3 минуты и 29 изображений в секунду. Я хочу разделить его на изображения по 1/ секунду.

Я использую эту команду:

ffmpeg.exe -i FILE0014.MOV -r 2 -f image2 -vcodec mjpeg -qscale 2 "%%05d.jpg"

но это генерирует более 300 изображений!

Лог-файл показывает:

frame = 3 fps = 0.0 q = 0.0 size = N/A time = 00:00:01.00 битрейт = N/A dup = 0 drop = 13
frame = 4 fps = 3.9 q = 0.0 size = время N/A = 00:00:01.50 битрейт = N/A dup = 0 drop = 33
кадр = 5 кадров в секунду = 3,2 q = 0,0 размер = время N/A = 00:00:02,00 битрейт = N/A dup = 0 drop = 51
frame = 7 кадров в секунду = 3,4 q = 0,0 размера = N/A время = 00:00:03.00 битрейт = N/A dup = 0 drop = 67
кадр = 8 кадров в секунду = 3,1 q = 0,0 размер = время N/A = 00:00:03.50 битрейт = N/A dup = 0 drop = 84
кадр = 9 кадров в секунду = 2,9 q = 0,0 размер = время N/A = 00:00:04.00 битрейт = N/A dup = 0 drop = 102
кадр = 10 кадров в секунду = 2,8 q = 0,0 размер = время N/A = 00:00:04.50 битрейт = N/A dup = 0 drop = 120
кадр = 12 кадров в секунду = 2,9 q = 0,0 размер = время N/A = 00:00:05.50 битрейт = N/A dup = 0 drop = 137

время не точное 1 секунда.

Может ли кто-нибудь помочь мне составить правильную команду?

1 ответ1

1

пытаться:

ffmpeg -i file0014.mov -vf fps=1 -q:v 2 %03d.jpg

Разбивая это:

-vf fps=1 выберет кадр с интервалом в 1 секунду

-q:v 2 (сокращение от qscale) - это шкала качества для изображений JPEG. 1 - высшее качество, 31 - самое низкое.

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