ffmpeg で特定の音声、字幕、データを削除する
ffmpeg にはネガティブマッピングと呼ばれる方法があり、「-map -0:」から始まる指定方法で削除します。
特定のオーディオストリーム/トラックを削除
ffmpeg -i 入力ファイル名 -map 0 -map -0:a:2 -c copy 出力ファイル名
- 「
-map 0
」入力からすべてのストリームを選択します。 - 「
-map -0:a:2
」次に、オーディオ ストリーム 3 の選択を解除します。ストリーム インデックスは 0 からカウントを開始するため、オーディオ ストリーム 10 は になります「0:a:9
」。
すべてのオーディオストリーム/トラックを削除
ffmpeg -i 入力ファイル名 -map 0 -map -0:a -c copy 出力ファイル名
- 「
-map 0
」入力からすべてのストリームを選択します。 - 「
-map -0:a
」次に、入力からすべてのオーディオ ストリームを選択解除します。
特定のオーディオストリーム/トラックを削除
オーディオ ストリーム #4 (オフセット 3) と #7 (オフセット 6) 以外のすべてを保持します。
ffmpeg -i 入力ファイル名 -map 0 -map -0:a:3 -map -0:a:6 -c copy 出力ファイル名
すべての字幕とデータを削除
ffmpeg -i 入力ファイル名 -map 0 -map -0:s -map -0:d -c copy 出力ファイル名
ビデオとオーディオのみを含める
この例では、ネガティブ マッピングを使用する必要はありません。
ffmpeg -i 入力ファイル名 -map 0:v -map 0:a -c copy 出力ファイル名
他のストリーム/トラックタイプの削除
他のストリーム タイプを削除する場合は、適切なストリーム指定子を使用できます。
- 「
v
」 ビデオなど「-map -0:v
」 - 「
a
」 音声「-map -0:a
」 - 「
s
」 字幕など「-map -0:s
」 - 「
d
」 データ、例:「-map -0:d
」 - 「
t
」 添付ファイルなど「-map -0:t
」