You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ffmpeg将g729编码的立体声WAV文件转换为可播放格式

解决方案

核心问题原因

你使用-f g729参数强制将输入文件识别为裸G729数据流,但你的文件是封装在WAV容器中的G729编码音频,该参数会让FFmpeg跳过WAV文件头解析,直接把头部数据当成音频帧解码,最终输出噪音,日志中的pitch_delay_int 144 is too large、corrupt input packet报错都是由此导致的,并非源文件损坏。
另外你提到源文件是立体声,但你的命令没有指定输入声道配置,FFmpeg默认将G729流识别为单声道,也会导致解码异常。

可尝试的转码命令

  • 第一步先移除强制格式参数,让FFmpeg自动识别WAV容器:
ffmpeg -i input.WAV -ac 2 output.WAV
  • 如果上述命令仍无法正常解码,手动指定输入音频的参数匹配你的源文件属性:
ffmpeg -ar 8000 -ac 2 -b:a 17448 -i input.WAV output.WAV
  • 如果还是失败,可先提取WAV中的G729裸流再解码:
# 第一步提取裸G729流
ffmpeg -i input.WAV -acodec copy -f g729 raw.g729
# 第二步解码裸流
ffmpeg -f g729 -ar 8000 -ac 2 -i raw.g729 output.WAV

转码完成后的output.WAV就可以正常播放,也能接入你的Python语音识别代码使用。

内容的提问来源于stack exchange,提问作者Leonardo Soares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:24:04