zoukankan      html  css  js  c++  java
  • GB28181技术基础之3

    一. RTP协议

           实时传输协议 RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC3550中进行更新。

           RTP通常是配合 RTCP协议使用,通过 RTCP 协议来控制流量和拥塞。

           RTP 的包格式:

    V

    P

    X

    CC

    M

    PT

    SN

    时间戳

    同步信源(SSRC)标识符

    特约信源(CSRC)标识符

    ···

           格式说明:

    1. V:版本号,用来标志当前使用的RTP版本,2bit;

    2. P:填充位,如果该位=1,对应RTP包的尾部则包含附加的填充字节,1bit;

    3. X:扩展位,如果该位=1,对应RTP固定头部后面则跟一个扩展头部,1bit;

    4. CC:CSRC计数器,对应固定头部后面跟着的 CSRC数目,4bit;

    5. M:标记位,不同的有效载荷有不同的含义,如果是视频,标记一帧的结束;如果是音频,标记会话的开始;

           由配置文档 Profile来解释,1bit;

    6. PT:载荷类型,标识了RTP载荷的类型(比如 音频、图像等),7bit;

    7. SN:序列号,对于发送方 - 每发送完一个RTP包+1,对于接收方 - 用来检测报文丢失情况,重新排序报文,恢复数据,16比特;

    8. 时间戳:标记该RTP报文的第一个八位组的采样时刻,接收者通过时间戳来计算延迟和延迟抖动,并进行同步控制;

    9. SSRC:同步信源标识符,即 RTP包的来源。在同一个RTP会话中不能有两个相同的SSRC值。该标识符是随机选取的,32比特;

    10. CSRC:特约信源标识符,用来标识了包含在该RTP报文有效载荷中的所有特约信源。

          CSRC 可以有0~15项,每项32比特;

    二. RTP协议的用途

           RTP协议主要用于在互联网上传输,用于传递音频和视频的标准数据包。在目前三网融合中也用来承载TS流,进行电视媒体数据的传播。

           在GB28181中,使用的也是RTP的封包格式,基于PS进行封包,具体PS封包格式,可以参考上节内容。

  • 相关阅读:
    Java 从入门到进阶之路(五)
    Java 从入门到进阶之路(四)
    Java 从入门到进阶之路(三)
    Java 从入门到进阶之路(二)
    Java 从入门到进阶之路(一)
    调用百度翻译 API 来翻译网站信息
    jquery.i18n 网站呈现各国语言
    VUE+Element UI实现简单的表格行内编辑效果
    Python 爬虫从入门到进阶之路(十八)
    Python 爬虫从入门到进阶之路(十七)
  • 原文地址:https://www.cnblogs.com/ostin/p/9488686.html
Copyright © 2011-2022 走看看