如何使用RTP引擎对语音编码进行转码

架构图:
如何使用RTP引擎对语音编码进行转码

问题:
从Freeswitch发出的INVITE消息里,只有PCMA和PCUM编码,想在RTP引擎和WebRTC的话机之间使用OPUS编码(OPUS编码对丢包的容忍度更高,WebRTC话机跑在外网用户的电脑上,需要启用OPUS)

配置方法:
在OpenSIP的RTP引擎配置参数里进行转码:
rtp引擎配置参数加上转码参数
always-transcode codec-mask-all transcode-OPUS transcode-telephone-event

完整的参数配置如下:

modparam("cfgutils", "shvset", "rtpops_prefix=s:replace-origin replace-session-connection trust-address no-rtcp-attribute always-transcode codec-mask-all transcode-OPUS transcode-telephone-event")

实现的效果如下:
如何使用RTP引擎对语音编码进行转码

FS和话机之间是OPUS编码

如何使用RTP引擎对语音编码进行转码

话机应答了OPUS编码:
如何使用RTP引擎对语音编码进行转码

上一篇:【webrtc】音频内部流式发送 :AudioSendStream 走读


下一篇:RTP timestamp与帧率及时钟频率的关系