両方を含むファイルからビデオまたはオーディオのみを取得するには、主に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オプションはより複雑に見えるかもしれませんが、より柔軟で便利です。たとえば、-vnffmpegにビデオストリームのみを省略するように指示します -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に指示します。