
ビデオに開始タイムコードを挿入し、同時にフレームレートを 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