1つの大きなMP4ファイルがあります。私はそれを小さなファイルに分割しようとしています。
ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4
-sameqを使用しても同じ品質設定が維持されると思いました。しかし、私はそれが何をしているのか理解してはなりません。
分割したファイルで同じ品質(オーディオ/ビデオ)と圧縮を維持したいと思っています。ただし、この設定により、分割ファイルがはるかに大きくなります。
同じ品質とサイズの比率を維持しながら、分割ファイルで同じ品質と属性を維持するには、どのフラグを設定する必要がありますか?
たとえば、元のファイルが約12 GBで1920x1080で、ビットレートが10617kbps、フレームレートが23フレーム/秒、6チャネルのオーディオが317kbpsの場合、分割ファイルはこのサイズの3分の1だけにします(私がそれを3つに分割した場合)。
再エンコードせずにビデオを分割したい場合は、オーディオとビデオにcopy
コーデックを使用します。これを試して:
_ffmpeg -ss 00:00:00 -t 00:50:00 -i largefile.mp4 -acodec copy \
-vcodec copy smallfile.mp4
_
これは最初の分割のみを作成することに注意してください。次は、_ffmpeg -ss 00:50:00
_で始まるコマンドで実行できます。
これは単一のコマンドで行うことができます:
_ffmpeg -i largefile.mp4 -t 00:50:00 -c copy smallfile1.mp4 \
-ss 00:50:00 -c copy smallfile2.mp4
_
これにより、_smallfile1.mp4
_の動画に50分で終わる_largefile.mp4
_が作成され、50分から始まり__smallfile2.mp4
_の最後で終わる_largefile.mp4
_が作成されます。
Alternate方法は次のとおりです。
// create a 2-min clip
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:12:00 -c copy output.mp4
/**
* -i input file
* -ss start time in seconds or in hh:mm:ss
* -to end time in seconds or in hh:mm:ss
* -c codec to use
*/
使用するため、ファイルの品質は変わりません-c copy
は、元のオーディオ+ビデオストリームを出力にコピーします。
リファレンス、一般的に使用されるFFmpegコマンドのリスト: DigitalFortress