在ffmpeg中平移所有音频频道中心?

时间:2012-04-16 17:03:15

标签: audio ffmpeg transcode

我正在使用FFMPEG将大文件转码为较小的文件。通常文件将有2个音频通道(但并非总是如此)。我试图将所有音频频道集中在一起。

我在ffmpeg-users上询问了如何执行此操作的示例:http://ffmpeg-users.933282.n4.nabble.com/Panning-audio-channels-example-td4417939.html

我从回复中得到的是FFMPEG还没有实现音频过滤器。不知何故,我应该能够设置一个libav过滤器(?)来平移所有通道中心...某些效果: pan="c0=0.5*FL+0.5*FR"但是当我这样做时,我收到错误:No such filter: 'pan'。那些家伙很棒,但我不能通过阅读docs来解决这个问题。

我没有禁用过滤器,这是我的构建信息 configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/opt/local/bin/gcc-apple-4.2 --arch=x86_64 --enable-yasm --enable-nonfree --enable-libfaac

以下是我构建的命令行之一的示例:ffmpeg -i inMovie.mov -acodec libfaac -ab 64k -vcodec libx264 -vpre medium -b 320k -pass 1 -s 374x210 -threads 0 outMov.mp4

我的FFMPEG命令行的其余部分工作得很好......基本上我要找的是左/右音频通道在输出文件中都有相同的音频。如果有一种更简单的方法可以做到这一点(转换为2个混合单声道?)我很满意!!

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

音频过滤器在FFMPEG上具有不同的语法。您可以平移音频通道而不会产生混音。使用您的示例:

ffmpeg -f lavfi -i "amovie=inMovie.mov,pan=stereo: c0=c0+c1: c1=c0+c1" -i inMovie.mov -map 0:0 -map 1:0 -vcodec libx264 -vpre medium -b 320k -pass 1 -s 374x210 -threads 0 -acodec libfaac -ab 64k outMov.mp4

答案 1 :(得分:0)

我目前没有方便的命令参考,但我会使用FFMPEG混合到单声道,然后转换回立体声。这应该可以为您提供所需的结果。