webrtc 代码走读七(FEC8627)

一、概述

webrtc 代码走读七(FEC8627)_第1张图片
        webrtc发送FlexFEC报文的时候,是同时发送两股流:PT值为102的正常媒体报文。PT值为106的flexfec冗余报文。这两股流使用的是不同的SSRC 。

        所以在SDP协商时,需要协商两个信息:PT值、SSRC值。webrtc 代码走读七(FEC8627)_第2张图片

       上面的示例可以看到,媒体视频rtp报文的pt值是100,flexfec冗余报文的PT值时110(报文抓包截图和示例不是对应的),媒体视频RTP报文的ssrc是1234,flexfec冗余报文的ssrc是2345。

        对应webrtc的实现代码如下:

         1、GetPayloadTypesAndDefaultCodecs 确定PT值webrtc 代码走读七(FEC8627)_第3张图片

webrtc 代码走读七(FEC8627)_第4张图片​ 

        2、 AddFecFrSsrc 确定ssrc。

        ​ 

        ​ 

  二、RTP报文格式概述 

         1)完整RTP报文格式webrtc 代码走读七(FEC8627)_第5张图片

       2)FEC header 定义

        1、完整FEC header定义

webrtc 代码走读七(FEC8627)_第6张图片

         2、R、F字段定义webrtc 代码走读七(FEC8627)_第7张图片

             2.1 R=0,F=0时,报文格式定义

webrtc 代码走读七(FEC8627)_第8张图片

         2.2 R=0,F=1时,报文格式定义

webrtc 代码走读七(FEC8627)_第9张图片          2.3 R=1,F=0时,报文格式定义webrtc 代码走读七(FEC8627)_第10张图片

        2.4 根据代码,目前webrtc 支持R=0 and F=0(Flexible FEC Mask fields indicate source packets)的封装和解析 

 webrtc 代码走读七(FEC8627)_第11张图片

webrtc 代码走读七(FEC8627)_第12张图片

        

你可能感兴趣的:(webrtc,webrtc,音视频)