ffmpeg タイムコードとフレームレートを挿入する

ffmpeg タイムコードとフレームレートを挿入する

ビデオに開始タイムコードを挿入し、同時にフレームレートを 29.97 に強制しようとしていますが、どのフレームレートを入力しても (スクリプトのどこに -r 29.97 を指定しても)、ffmpeg はフレームレートを 25fps に強制します。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

これらのタグのあらゆる組み合わせを試してみましたが、何をやっても 25fps しか得られません。この問題に対処したことがある人はいますか?

前もって感謝します。

答え1

コマンドが正しく表示されている場合は、構文が間違っています。

...-vf -r 29.97...<-- これは、ビデオ フィルター オプションの引数としてフレームレート フラグを設定します。29.97その後、出力ファイル名として解釈されます。

もう 1 つは、画像シーケンスが 25 fps (デフォルト) として解釈されるため、コマンドが機能したとしても、出力にフレームが重複し、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

関連情報