我正在尝试解决一些 VOIP 问题,并一直在捕获故障呼叫的数据包。但是我的呼叫全部采用 g722 编码,我无法解码。
我已经提取了 RTP 有效负载,目前将其作为原始文件。我能找到的唯一信息是此链接:
https://ask.wireshark.org/questions/26607/coverting-g722-payload-to-wav
但我似乎不知道如何将 g722 raw 转换为可用的波形文件。任何正确的指导都会有所帮助。
答案1
根据我的评论,SOX 不支持 g722。
我最终使用我所在公司的内部编解码器支持创建了自己的转换器。因此我无法发布该版本。
然后我使用开源库重写了它音频。
你可以在这里找到它:https://github.com/shanepowell/G722Converter
您可以在此处下载编译好的版本:https://github.com/shanepowell/G722Converter/releases/latest
它需要.net 框架 v4.5安装即可运行。
答案2
FFMPEG 运行良好,但建议的参数不起作用。我使用了:
ffmpeg -f g722 -i input.raw -acodec pcm_s16le -ar 16000 output.wav
应用于输入文件的选项应该位于文件名之前,.wav
在输出文件上使用定义格式。
答案3
FFMPEG 也可以完成这个工作
ffmpeg -i g722_input_file.raw -f g722 -acodec pcm_s16le -ar 16000 out.pcm