背景
很多做音视频开发的朋友都知道静音检测、静音流,但是真实使用的时候缺不知道什么时候用,到底怎么用,怎么才能用好这些技术,今天跟跟大家简单聊聊这个技术话题。
据统计通话过程中静音的时间超过了70%,如果这时还是按普通方式发送音频数据包,会造成带宽的严重浪费!因此引入了VAD和CNG技术,极大减少带宽的消耗。
一、VAD
Voice Activity Detector, 即语音动态检测。话机的输入信号分为语音和静音两类,VAD主要通过信号的能量来区分语音数据和静音数据。当检测到用户没有讲话时即为静音状态,发送端可以不发送语音数据报文,只发送静音指示报文,从而降低语音报文占用的带宽。如下所示,正常的G711U编码的语音包负载占据160个字节;
而静音帧只有几个字节,如下所示:
二、CNG
(Comfort Noise Generator),即舒适噪音产生。为避免静音期间出现长时间的静默,使接收端用户感到不自然,在静音过程中需要接收端生成背景噪声,接收端可根据发送端发送的静音指示帧来产生舒适噪声。
所以,通常情况下、VAD和CNG是要配合使用的,这回应该有点感觉了吧。
再讲清楚一些吧
vad是发送端使用的,cng是接收端使用的。
如果发送端vad开启,检测非静音则生成RTP包发送到对端,如果检测是静音则发送静音标识(cng包或者帧内静音包)给对端,对端收到静音标识后生成背景噪声!
如果需要技术问题沟通、技术交流讨论、业务合作也非常欢迎。
联系方式:vx:unique_no_1
tel:18108010758