コマンドラインからffmpegを使用して、必要なクリッピングを行いました。
このサイトでいくつかの調査を行い、いくつかの簡単なコマンドを試した後、次のコマンドを思いつきました。
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -c copy -to 00:05:10 \
output.mp4
私が理解しているように、このコマンドを使用すると、ffmpegは基本的にクリップの一部をinput.mp4からoutput.mp4にコピーします(再エンコードなし)。ffmpegは1分のマーク(最初の-ss 00:01:00
)まで高速でシークし、次にキーフレームの検索を開始し、3分(2番目の-ss
オプションで指定-to 00:05:10
)のクリップに6分&10秒のクリップ(で指定)までのクリップを出力します。。つまり、3分10秒のクリップ(5:10-2:00)が出力されます。
注: 2番目の-ss
オプションと-to
オプションで指定された時間は、最初の-ss
オプションで指定された時間を基準にしています。
これらのオプションやその他のオプションの詳細については、ffmpegを使用してビデオを切り取るという質問に対する優れた回答をご覧ください。
この方法は驚くほど高速(10〜15秒)でしたが、クリップの最初の2〜3秒では音は問題ありませんが、対応するビデオはありません。最初の2〜3秒後、音質とビデオ品質はどちらもオリジナルと区別がつかないようでした。
-c copy
部品を落とすこともその問題を解決しました。これは、ビデオが再エンコードされることを意味します—これには時間がかかります(2011年後半の13インチMacBook Proはクリップのランタイムの80〜90%を要しました)—オーディオとビデオの品質は優れており、ファイルサイズはオリジナル(MB /分/再生で計算)!
だから私が決着した最後のコマンドは:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -to 00:05:10 -strict -2 \
output.mp4
-strict -2
X.264エンコーディングのサポートはまだ実験的であるため、この部分はffmpegからの提案に基づいてコマンドに追加されました。
ffmpegを使用するには、プリコンパイルされたffmpegをffmpegmac.netからダウンロードし、すでに存在することがわかっていて、PATH
準備ができているディレクトリに配置します。
-c copy
ここに記載されているオプションを使用する必要があることに注意してください:trac.ffmpeg.org/wiki/Encode/H.264、基本的-crf 23
に、より低い品質を選択すると品質が向上します(正常な値) 18〜28年)。