码迷,mamicode.com
首页 > Web开发 > 详细

[webrtc] RTX的处理

时间:2016-08-07 16:59:05      阅读:1408      评论:0      收藏:0      [点我收藏+]

标签:

以前笔记,整理

 

webrtc中默认开启rtx用于丢包重传,rtx的介绍可以参考rfc4588,https://tools.ietf.org/html/rfc4588#section-4

rtx使用额外的ssrc传输,ssrc在sdp中会标识出来。

↵a=rtpmap:97 rtx/90000
↵a=ssrc-group:FID 2736695910 239189782

类似这样。

一个RTX包,在turnserver中是这样的,原始udp数据->turn/stun协议头->RTP header1 ->RTP header2

在RTP header1中根据payload type进行区别RTP、RTX数据,如果是RTX的话,需要srtp解出后面的数据,再解析。

 

在客户端中,RTX封包的关键函数是:

https://code.google.com/p/webrtc/source/detail?r=4692
Channel::IsPacketRetransmitted
Channel::HandleRtxPacket
rtp_payload_registry_->IsRtx
RTPPayloadRegistry::RestoreOriginalPacket    移除RTX头, 还原原始的RTP

链接是,webrtc加入rtx的issue

 

目前webrtc的服务器,例如licode,janus是禁止rtx的。以避免复杂的处理。

 

[webrtc] RTX的处理

标签:

原文地址:http://www.cnblogs.com/lingdhox/p/5746305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!