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

作者:IT荒野猎人
来源:CSDN
原文:https://blog.csdn.net/sweibd/article/details/79344509

一. 前言

发送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(=232/106)倍;

struct ntptime
{
unsigned int integer; //1900年以来的秒数
unsigned int fraction;//小数部份,单位是微秒数的4294.967296(=232/106)倍
};
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的关系。

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

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

推荐阅读更多精彩内容