美文网首页
SR包格式

SR包格式

作者: hijiang | 来源:发表于2019-09-19 16:45 被阅读0次

    一. 前言
    发送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的关系。

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

    作者:IT荒野猎人
    来源:CSDN
    原文:https://blog.csdn.net/sweibd/article/details/79344509
    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

          本文标题:SR包格式

          本文链接:https://www.haomeiwen.com/subject/ejpructx.html