WebRTC中的抗误码技术研究(一):前言

前言

WebRTC是Web Real-Time Communication(基于网页的实时通信)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。2011年5月开放了工程的源代码,在行业内得到了广泛的支持和应用,成为下一代视频通话的标准【1】。

为实时语音/视频通话应用提供良好的用户体验并不是件容易的事情,其难点在于:

1. 通话双方所处的网络环境是不断变化的,通信框架需要准确而实时的估计出当前网络状况下可用的带宽,对编解码器的最终输出的码率进行调整,避免网络拥塞。

2. 音视频数据在网络传输的过程中会有丢包,造成接收方无法解码出原始的音视频数据,会使用户感到画面有很明显的卡顿或者看到有马赛克或者花屏的图像。

为了解决上述这些难题,WebRTC中包含了一整套完善的实时码率自适应技术和抗丢包技术。对于实时的码率自适应技术,在weizhenwei大神的文章《WebRTC基于GCC的拥塞控制》中有着详细的介绍。而对于抗丢包技术,目前看来网络上进行完整分析的文章不多。希望在接下来的几篇文章中,能为大家一一介绍清楚。

在WebRTC中,使用的抗丢包技术主要有如下几种:

1. NACK(Negative ACKnowledge),即RTP包重传技术。接收端利用RTCP包通知发送端哪些RTP包没有接收到,需要发送端重新发送这些RTP包。

2. FEC(Forward Error Correction),即前向纠错技术。在发送含有音视频数据RTP包的同时发送一些保护包,当某些含有音视频的RTP数据包丢失时,利用保护包进行XOR(异或)操作恢复出原始的音视频RTP包。

3. 编解码器层面上的处理(如每隔一段时间发送IDR帧、使用分层的编码技术等)。

参考文献

1. 百度百科:WebRTC

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 前言 在基于IP网络的多媒体通信系统(比如WebRTC)中,网络丢包对多媒体通信质量有非常严重的影响:例如造...
    weizhenwei阅读 19,301评论 8 38
  • 一 前言 RTP/RTCP协议是流媒体通信的基石。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协...
    weizhenwei阅读 33,462评论 4 48
  • 对于实时音视频应用来讲,媒体数据从采集到渲染,在数据流水线上依次完成一系列处理。流水线由不同的功能模块组成,彼此分...
    weizhenwei阅读 11,303评论 4 29
  • 19-李雪姣06.24《李海峰:凡事必有四种解决方案》古典 D: dominance:支配/老板型 I:influ...
    清心悦行007阅读 156评论 0 0
  • 1.遇见 正面管教,多么专业的词汇,遇到它是在两年前一个群的公益也微课上,我对育儿茫然,但一直探索着,感谢一个妈妈...
    美女就是我阅读 378评论 3 2