
そのため、ハード ドライブのスペースを大量に節約する必要があるため、PNG ファイルをロスレス ビデオにエンコードして、PNG ファイルを削除できるようにしています。1 つは 72fps でエンコードし、もう 1 つは 60fps に少し遅くしてエンコードしています。
これは 72fps にエンコードするために使用するコマンドだとします。
ffmpeg -framerate 72 -i png/%%06d.PNG -i audio/72.m4a^
-c:v libx265 -c:a copy -pix_fmt yuv444p -crf:v 0^
video/72.mkv
これは 60fps コマンドです:
ffmpeg -framerate 60 -i png/%%06d.PNG -i audio/60.m4a^
-c:v libx265 -c:a copy -pix_fmt yuv444p -crf:v 0^
video/60.mkv
PNG ファイルは削除されているため、PNG ファイルではなく 72fps のビデオ ファイルからエンコードし、フレームを落とさずにビデオを 60fps に減速する場合、60fps コマンドに相当するものは何でしょうか。可能であれば、setpts
ビデオ フィルターを使用せずに 60fps で正確にエンコードするように指示し、ビデオ ストリームを別のフレーム レートでコピーします (それが可能かどうかはわかりません)。
答え1
基本コマンドは
ffmpeg -itsscale 1.2 -i video/72.mkv -i audio/60.m4a^
-map 0:v -map 1 -c copy video/60.mp4
itsscale
これは、タイムスタンプを再スケールするために入力オプションを使用します。ここで、1.2
は の 10 進表現です72/60
。これは出力ライターに新しいフレーム レート値を提供しないことに注意してください。そのため、MKV などの形式では、ffprobe で古いレートが表示されますが、新しいレートで再生されます。MP4 では、新しいレートが表示されます。