根据RDK包里面的音频的demos,我的AAC编解码成功,现在我把这个AAC改G.711,然后编码存在本地ulaw文件用播放器打开不成功,想问问大神除了AUDIO_CODEC_TYPE_AAC_LC改成AUDIO_CODEC_TYPE_G711等,还有哪些重要的地方要改,以前没搞过,望可爱大神给小弟点思路,急急急!!!谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
根据RDK包里面的音频的demos,我的AAC编解码成功,现在我把这个AAC改G.711,然后编码存在本地ulaw文件用播放器打开不成功,想问问大神除了AUDIO_CODEC_TYPE_AAC_LC改成AUDIO_CODEC_TYPE_G711等,还有哪些重要的地方要改,以前没搞过,望可爱大神给小弟点思路,急急急!!!谢谢
你昨晚上问我的时候我手上没代码,刚刚看了下G711在RDK中已经实现了,详见DVRRDK_xx.xx.xx.xx\dvr_rdk\mcfw\src_linux\links\audio\rpe_audio.c
中
Int32 Audio_encode(Void* ctxMem, Audio_EncodeProcessParams *pPrm) { encContext *handle = ctxMem; if (handle) { switch (handle->codecType) { case AUDIO_CODEC_TYPE_AAC_LC: return Audio_encodeAsAac(ctxMem, pPrm); case AUDIO_CODEC_TYPE_G711: return Audio_encodeAsULaw(ctxMem, pPrm); } } return 0; }
也就是说你需要做的是将传入的codecType改为
AUDIO_CODEC_TYPE_G711
即可。
你好,这样我试了的,声音出不来,要经过3步,Aenc_create-》Aenc_process-》Aenc_delete,而在文档讲的
Encode APIs
• Aenc_create
• Create Encode algorithm <Only AAC right now>
• Aenc_process
• Encode processing call
• Aenc_delete
• Delete algorithm
Aenc_create
• Create Encode algorithm <Only AAC right now>这里的进入dsp的rpe接口,就只有AAC的,我估计就是这里导致我声音出不来的,谢谢你的回复
AAC算法实现比较复杂,所以在DSP端做的,但是G711相对较为简单,代码实现就是在linux端做的。
建议你再看看代码,整理下思路。
噪音大这个有可能是G711本身的问题,建议你给的源音量不能太小。AAC算法本身编解码质量就比较高,所以信噪比较G711而言肯定会好很多。
你先确认下噪声是什么时候引入的,G711编码只是做a律或者u律的压缩,对噪声是不会处理的,所以怀疑你输入的音频源噪声就很大。
你可以采集的时候保存音频数据听听看。或者按照我前面说的,直接把输入的音量加大点,但确保不要出现削顶失真。
AAC正常是因为AAC编码的时候会抑制噪声,http://baike.baidu.com/link?url=JTT_C80MF4HCAkLHLCMjalCTzExQD5wiWQhwLRkrRYEJLidM2l49mTNRqzjTMC80