ステレオの左右を入れ替えたり、3つの音声を合わせると2.1チャンネル、3チャンネル(前)、3チャンネル(後)など推定できないときにレイアウトを指定するのに使うchannelmap
フィルタの使い方。コーデックが対応してないレイアウトの時にレイアウトを直すことでエンコーダに渡せる。チャンネルにないレイアウトを指定したら音がなくなるので配置を正しく行う。チャンネルから一部のレイアウトを取り出すこともできる。
左右を入れ替えたり、混ぜたり音量を変えるpan
フィルタや、複数ファイルを入力して複数チャンネルにするamerge
フィルタや、amerge
とchannelmap
フィルタを合わせたjoin
フィルタもある。
基本コマンド
左右の音声を入れ替える。
ffmpeg -i input -af "channelmap=map=FL-FR|FR-FL:channel_layout=stereo" -c:v copy output
ffplay -i input -af "channelmap=FL-FR|FR-FL:stereo"
5.1レイアウトからBL、BRを取り出したステレオにする。
ffmpeg -i input -af "channelmap=map=BL-FL|BR-FR:channel_layout=stereo" -c:v copy output
ffplay -i input -af "channelmap=BL-FL|BR-FL:stereo"
1つのトラックに5.1とダウンミックスのステレオが入っているSMPTE 302Mコーデックのときに分離する。
ffmpeg -i input -filter_complex "[a:0]channelmap=channel_layout=5.1[5.1];[a:0]channelmap=DL-FL|DR-FR:stereo[stereo]" -map [stereo] -c:a flac stereo.mka -map [5.1] -c:a flac 5.1.mka
1つのトラックに7.1(wide)レイアウトの音声が入っているが、後ろ2つの音声が7.1(wide)のFLC、FRCではなくダウンミックスしたDL、DRのときに音声を分離する。
ffmpeg -i input -filter_complex "[0:a]channelmap=channel_layout=5.1[5.1];[0:a]channelmap=FLC-FL|FRC-FR:stereo[stereo]" -map [stereo] -c:a flac stereo.mka -map [5.1] -c:a flac 5.1.mka
公式ドキュメント:FFmpeg Filters Documentation : channelmap
オプション
チャンネル名やチャンネルレイアウトは公式ドキュメントを参照。
- map[string]
現在の配置を左に、–で続けて目的の配置先を指定し別のチャンネルには|で区切って指定する
例:”map=FL-FR|FR-FL” - channel_layout[string]
チャンネルレイアウトの指定