一. 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封包格式,可以参考上节内容。

GB28181技术基础之3 - RTP的更多相关文章

  1. GB28181技术基础之1 - SIP协议

    SIP 协议,即 会话初始协议(Session Initiation Protocol),是一个应用层的 点对点协议,用于初始.管理和终止网络中的语音和视频会话,是 GB28181 的核心之一. 按照 ...

  2. GB28181技术基础之2 - H264与PS封包

    二. PS封包 PS 是 GB28181 规定的标准封包格式(也是存储格式),在讲 PS 之前,先介绍几种相关的 数据格式概念: 1)ES 基本流 (Elementary Streams)是直接从编码 ...

  3. JNI技术基础(2)——从零开始编写JNI代码

    书接上文: <JNI技术基础(1)——从零开始编写JNI代码> 2.编译源程序HelloWorld.java并生成HelloWorld.class 3.生成头文件HelloWorld.h ...

  4. AOP技术基础

    1.引言 2.AOP技术基础 3.Java平台AOP技术研究 4..Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto ...

  5. 《C#语言和数据库技术基础》单词必备

    <C#语言和数据库技术基础> 第一章1..NET Framework   框架2.sharp            尖锐,强烈的3.application      应用程序4.devel ...

  6. JavaWeb开发技术基础概念回顾篇

    JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...

  7. ajax技术基础详解

    一.概述 1.什么是ajax 可以与服务器进行[异步]交互的技术,浏览器无需刷新 2.什么时候出现ajax? -- XMLHttp 微软 1999年微软公司发布IE5版本,内嵌了ajax技术 什么时候 ...

  8. AOP技术基础(转)

    1.引言 2.AOP技术基础 3.Java平台AOP技术研究 4..Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto ...

  9. 现代前端技术解析:Web前端技术基础

    ​ 最近几年,越来越多的人投入到前端大军中:时至至今,前端工程师的数量仍然不能满足企业的发展需求:与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作 ...

随机推荐

  1. IDEA设置项目文件自动Add到Svn/Git

    1)配置自动Add 2)将未添加的文件添加到本地 3)取消已经添加的文件

  2. redis键过期 (redis 2.6及以上)

    EXPIRE key seconds 用来对一个键设置一个过期时间,第二个参数表示经过多少秒后键过期. 一个键过期后, 这个键将会被自动删除. 在Redis术语中,带有过期时间的键经常被称作volat ...

  3. [nginx][tls] nginx配置https与ssl/tls的sni的方法

    一 https的sni配置方法 http {       }       server {               listen 443 ssl;               server_nam ...

  4. Apache 安装后Error 403的故障排错方法(linux)

    Apache 安装后Error 403的故障排错方法 2018年01月07日 14:25:41 个人分类: Linux 一.问题描述 在apache2的httpd配置中,很多情况都会出现403. 刚安 ...

  5. Ubuntu 18.04 使用apt-get 华为源支持 arm64 鲲鹏处理器

    网上搜的源,什么阿里云163等等的,都不支持arm64 执行以下代码,使用华为源 wget -O /etc/apt/sources.list https://repo.huaweicloud.com/ ...

  6. 数据库类型对应Java语言类型表

    下表列出了基本 SQL Server.JDBC 和 Java 编程语言数据类型之间的默认映射: SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型 big ...

  7. WebService接口学习【1】

    工具: 1.Eclipse(or)IDEA编辑器 2.SoapUI测试工具 1.wsdl文件标签体的约束: 一:namespace:相当于文件的id 二:targetNamespace属性:用来指定s ...

  8. node gm图片操作

    1,安首先要安装 GraphicsMagick或者ImageMagick 2,npm install gm   --save 3,编码测试 var fs = require('fs') //graph ...

  9. Andrew Ng机器学习 四:Neural Networks Learning

    背景:跟上一讲一样,识别手写数字,给一组数据集ex4data1.mat,,每个样例都为灰度化为20*20像素,也就是每个样例的维度为400,加载这组数据后,我们会有5000*400的矩阵X(5000个 ...

  10. generator 和yeild

    参考 https://www.cnblogs.com/xybaby/p/6322376.html 使用yield那么该函数就变成了一个生成器方法. def zheng(n,m): if n<m: ...