![将 2 通道立体声 g729 文件转换为单独的单通道 pcm 编码文件](https://linux22.com/image/1568427/%E5%B0%86%202%20%E9%80%9A%E9%81%93%E7%AB%8B%E4%BD%93%E5%A3%B0%20g729%20%E6%96%87%E4%BB%B6%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%8D%95%E7%8B%AC%E7%9A%84%E5%8D%95%E9%80%9A%E9%81%93%20pcm%20%E7%BC%96%E7%A0%81%E6%96%87%E4%BB%B6.png)
每当我尝试将 G729 编码的双通道文件转换为单通道 pcm 编码的 wav 文件时,都会出现以下错误
输入 #0,wav,来自“g729stereo.wav”:持续时间:00:00:07.07,比特率:16 kb/s 流 #0:0:音频:g729 ([131][0][0][0] / 0x0083),8000 Hz,2 通道,16 kb/s [g729 @ 0x7fd163802a00] 仅支持单声道(请求通道:2)。无法打开输入流 0 的编解码器
有人能告诉我最好的处理方法是什么吗?
答案1
这看起来像是 ffmpeg 附带的 G729 编解码器仅支持单通道。
最好的办法是升级到最新版本的 ffmpeg,看看支持是否有所改善。
如果没有,您可以向 ffmpeg 开发人员发布礼貌的功能请求,或者自己坐下来修改 G729 编解码器源代码来实现它。或者如果您自己做不到,请花钱请别人帮您做。
答案2
首先使用 sox 或其他实用程序将立体声分离为单声道,然后解码和混合。