WebRTC的RTP扩展头、RTCP包

一  RTP扩展头

One-Byte Header:0xbede 2字节、length 2字节—扩展头的个数、

ID4位、L4位,共一字节

sequence number 2字节,1开始,依次递增

需要对齐,扩展头以4字节为单位。

ID=7,kRtpExtensionTransportSequenceNumber。

static constexpr char kTransportSequenceNumberUri[] = " "

//注册支持那个RTP扩展头
stream.rtp_rtcp->RegisterRtpHeaderExtension(extension, id);


PacketRouter::SendPacket(
packet->SetExtension<TransportSequenceNumber>((++transport_seq_) & 0xFFFF);
transport_seq_=0,开始值是1。

二  RTCP包类型

 RTCP4字节

Packet Type:200--SR、201--RR、202--SDES、205—RTPFB—包括Nack、206--PSFB(包括Pli、Fir等)。

RTP FB:Generic RTP Feedback。PSFB:Payload-specific Feedback。

205:fmt=1 Nack、fmt=15 Transport-wide Congestion Control。

206:fmt=1 PLI、fmt=4 FIR、fmt=15 REMB。

三  RTCP Feedback包

长度:整个RTCP包长度,5*4+4

 

 sender ssrc:是自己那端rtp流的ssrc。

media ssrc:随机值。

四  CompoundRTCP:SR包后跟SDES(source description)

五  RTCP SR:28字节(4+24)

MSW+LSW=NTP timestamp,各4字节,Most significant word,Least,

NTP timestamp:自从1900110,到现在过了多少秒。

RTP timestamp:

packet count:4字节,octet count:4字节。

六  RTCP RR: 32字节。

Sender ssrc:ssrc of sender:自己那端rtp流ssrc。

Identifier的ssrc表示收到那一路的,有音频和视频。ssrcrtp包的ssrc

但我没搜到这个ssrc。

七  发送RTCP SR包频率

音频5000ms:media_config.audio.rtcp_report_interval_ms。

视频1000ms:int rtcp_report_interval_ms = 1000;

RTCP包占带宽5%。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值