如何使用ffmpeg从音频文件中隔离一个通道?我有一个立体声音频文件,我需要输出是单声道音频文件中右声道的内容。
虽然我确信这很容易做到,但我无法弄清楚。谢谢您的帮助!
llo*_*gan 14
你有两种方法:
pan 音频过滤器功能强大,但语法需要一些时间来理解。
使用 pan 时参考通道布局列表会很有帮助: ffmpeg -layouts
立体声右声道至单声道:
ffmpeg -i stereo.wav -af "pan=mono|FC=FR" right_mono.wav
Run Code Online (Sandbox Code Playgroud)
...与以下内容相同:
ffmpeg -i stereo.wav -af "pan=1|c0=c1" right_mono.wav
Run Code Online (Sandbox Code Playgroud)
mono是输出通道布局或通道数。或者,您可以使用1代替mono.FC=FR创建˚F外前Ç输入从所述输出的信道˚F外前- [R输入的飞行。c0=c1在这种情况下与上述相同:c0从输入的第二个通道 ( c1)创建单声道输出 ( )的第一个(也是唯一一个)通道。FC=FL或c0=c0。更多信息:
您可以使用该-map_channel选项。它在后台使用 pan 并且不太灵活。
ffmpeg -i stereo.wav -map_channel 0.0.1 right_mono.wav
Run Code Online (Sandbox Code Playgroud)
0是输入文件ID0是流说明符1是信道ID所以这可以翻译为:第一个文件,第一个流,第二个通道(或右通道)。
从-map_channel文档:
所述的顺序
-map_channel选项指定输出流中的信道的顺序。输出通道布局是根据映射的通道数量推测的(如果是单声道,如果是-map_channel立体声,如果是两个,等等。