フィルター グラフ内で特定のオーディオ チャネルを呼び出すことは可能ですか?

フィルター グラフ内で特定のオーディオ チャネルを呼び出すことは可能ですか?

-map_channel引数でファイル内の特定のオーディオ チャネルを指定できることは知っていますが、フィルター グラフ内で同様の引数を実行する方法はありますか?

次のようなことが可能になることを期待しています:

-filter_complex "[0.0.0]showspectrum…[Left];[0.0.1]showspectrum…[Right]"

そんなことは可能なのでしょうか?

答え1

あなたはchannelsplitフィルターステレオ入力を想定:

ffmpeg -i input -filter_complex \
"[0:a]channelsplit[l][r]; \
 [l]showspectrum=color=intensity,pad=0:ih*2[left]; \
 [r]showspectrum=color=intensity[right]; \
 [left][right]overlay=0:h[v]" \
-map "[v]" -map 0:a -c:v libx264 -c:a copy output.mkv

channelsplitこれは、どのように使用できるかを示すための単なる例です。本当にshowspectrumチャネルを分離したい場合は、次のようにします。

ffmpeg -i input -filter_complex "[0:a]showspectrum=mode=separate[v]" \
-map "[v]" -map [0:a] -c:v libx264 -c:a copy output.mkv

関連情報