両方を含むファイルからビデオまたはオーディオのみを取得するには、主に2つの方法があります。デフォルトでは、ffmpegのストリーム選択動作は、ストリームタイプごとに1つのストリームを選択します。入力には、ビデオ、オーディオ、字幕、およびデータの複数のストリームタイプを含めることができます。一部の入力には、これらの各ストリームタイプを複数含めることもできます。2つのビデオストリームなど。
-vn
または -an
これらのオプションは、ビデオ(-vn
)またはオーディオ(-an
)を省略するようにffmpegに指示します。
ビデオを省略してオーディオをコピーするには:
ffmpeg -i input -vn -codec:a copy output.mka
オーディオを省略してビデオをコピーするには:
ffmpeg -i input -an -codec:v copy output.mkv
-map
この-map
オプションはより複雑に見えるかもしれませんが、より柔軟で便利です。たとえば、-vn
ffmpegにビデオストリームのみを省略するように指示します -map
が、ストリーム指定子を使用することで、ffmpegに目的のストリーム以外をすべて省略するように指示できます。
ビデオのみをコピーするには:
ffmpeg -i input -map 0:v -codec copy output.mkv
オーディオのみをコピーするには:
ffmpeg -i input -map 0:a -codec copy output.mka
0:v
最初の入力から含めるようにffmpegのを伝えるストリーム指定子で0
ビデオストリームをv
。これはさらに拡張できます。を使用0:v:0
するfirst input:video:first video stream
と、入力に複数のビデオストリームが含まれていて、最初のストリームのみが必要な場合に便利です。ffmpegコンソールの出力を参照して、入力のストリームの順序を確認してください。
ネガティブマッピングを使用することもできます。を使用-map 0 -map -0:a:1
すると、2番目のオーディオストリームを除くすべてのストリームがマップされます。-map 0
入力0
(最初の入力)からのすべてのストリームを含めるようにffmpegに指示-map -0:a:1
し、最初の入力からの最初のオーディオストリームを無視するようにffmpegに指示します。