RTCP(二): SR--Sender Reports 接收者报告

一. 前言

发送rtp报文端向接受者发送SR报文,主要目的是方便接收方做好音视频同步工作。

二. RTCP SR格式

发送者报告SR,其RTCP类型payload type是200。主要信息共24bytes,也就是6 words,如图2.1


                                                  图2.1

2.1 NTP timestamp

NTP timestamp是64位无符号整型,表示该SR报文发送的时刻。

NTP timestamp的含义,

- 高32位: 为代表01.01.1900到现在的秒数;

- 低32位: 单位是微秒数的4294.967296(=2^32/10^6)倍;

struct ntptime 
{
    unsigned int integer; //1900年以来的秒数
    unsigned int fraction;//小数部份,单位是微秒数的4294.967296(=2^32/10^6)倍
};
timeval到ntp时间戳的转换: 
ntptime.integar=timeval.tv_sec+JAN_1970;
ntptime.fraction=timeva.tv_usec* 0x100000000/1000000;

2.2 RTP timestamp

RTP timestamp字段同ntp stamp字段表示的时刻是一样的,但是应用的是rtp时间戳格式。

2.3 packet count and octet count

packet count: 发送方的发送包个数

packet octet: 发送方的发送字节数

周期都是整个会话过程中,所以可能出现数字翻转,接收方需要计算是否出现数字翻转的问题。

三、SR的常用方式

3.1 rtp数据和包数的统计信息

通过packet count和packet octet来获取到发送方对应sr间隔的速率,也能通过这两者得到平均的包大小。

包平均大小=packet octet/packet count. 

3.2 音视频同步

rtp时间戳与ntp时间戳的关系,也就是rtp timstamp和ntp timestamp的关系。

这个常用于接收端来进行音视频同步。



发布了19 篇原创文章 · 获赞 17 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览