ffmpeg вставляет таймкод и частоту кадров

ffmpeg вставляет таймкод и частоту кадров

Я пытаюсь ввести начальный таймкод в видео, одновременно принудительно устанавливая частоту кадров 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:a mp2 -timecode 09:08:52:00 /OUTPUT/FILE.mov

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

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

решение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

Связанный контент