Я пытаюсь внедрить начальный тайм-код в видео, одновременно увеличивая частоту кадров 29,97, но независимо от того, какую частоту кадров я ввожу (независимо от того, где в скрипте, через -r 29,97), ffmpeg принудительно увеличивает частоту кадров до 25 кадров в секунду. Я также пробовал fps = 29,97, но, насколько я понимаю, «fps =» обесценивается. Вот команда, которую я запускаю:

ffmpeg -i /INPUT/FILE/SEQUENCE_%04d.jpg -vf -r 29.97 -vcodec prores -profile:v 0 -c: временной код mp2 09: 08: 52: 00 /OUTPUT/FILE.mov

Я пробовал то, что кажется каждой комбинацией этих тегов, и, несмотря ни на что, я получаю 25fps. Кто-нибудь когда-нибудь имел дело с этим?

Заранее спасибо.

1 ответ1

1

Ваша команда, если она отображается правильно, имеет неверный синтаксис.

...-vf -r 29.97... <- это установка флага частоты кадров в качестве аргумента опции видеофильтра. 29.97 затем интерпретируется как имя выходного файла.

Другое дело, что последовательность изображений интерпретируется как 25 кадров в секунду (по умолчанию), и поэтому даже если ваша команда сработает, ваш вывод будет иметь дублированные кадры и будет на 16% медленнее.

Вместо этого установите значение 29,97 или 30000/1001, чтобы быть точным,

ffmpeg -framerate 30000/1001 -i /INPUT/FILE/SEQUENCE_%04d.jpg -c:v prores -profile:v 0 -c:a mp2 -timecode 09:08:52:00 /OUTPUT/FILE.mov

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