FFmpeg 4.4.1添加G722.1音频支持后播放无声音的问题排查求助
FFmpeg 4.4.1添加G722.1音频支持后播放无声音的问题排查求助
各位FFmpeg的大佬们好,最近我在给FFmpeg 4.4.1加G722.1音频格式的支持,卡到一个播放无声音的问题,想请大家帮忙支支招!
先跟大家说下我已经做的工作:
- 因业务场景需求,得给FFmpeg 4.4.1补上G722.1的支持,我了解到Polycom对该格式有免版税授权,目前正在走申请流程
- 我找了个libg7221库,把它集成到Shift Media Project的FFmpeg源码里了(这个项目能用Visual Studio调试,对我这种习惯Windows环境的人来说太方便了)
- 我在
AVCodecID枚举里添加了G722.1对应的Codec ID,还在libcodec目录下新建了g722_1.c实现解码逻辑,现在代码已经能正常编译通过
然后说下核心问题:我用Shift Media Project里的ffplay打开带G722.1音频的视频文件,ffplay能准确识别出音频是G722.1格式,但播放的时候完全没有声音!
我已经排查了几个关键点:
- 检查了ffplay里的
sdl_audio_callback和audio_thread,这两个线程都在正常执行,没有崩溃或异常退出的情况 - 回到我写的
g722_1.c文件,调用g722_1_decode解码函数时,预处理相关的步骤看起来都正常,但解码输出的内容似乎没法转换成可听见的声音——我怀疑是不是PCM数据的格式、采样率或者声道数没和FFmpeg的音频输出框架对齐?
有没有大佬遇到过类似的情况?或者能给我一些排查方向?比如有没有FFmpeg专属的调试技巧,能追踪音频从解码到输出的每一步数据是否正常?或者libg7221的调用有没有什么容易踩的坑?
备注:内容来源于stack exchange,提问作者james
相关产品推荐
相关产品推荐

