RTP-RFC 3550/3551

news/2024/5/20 0:57:46
●实时传送协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。
  RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在用户数据报协议上的。
  它作为因特网标准在RFC 3550(该文档的旧版本是RFC 1889)有详细说明。RFC 3551(STD 65,旧版本是RFC 1890)详细描述了使用最小控制的音频和视频会议。
  RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。
  RTP 由两个紧密链接部分组成:
  RTP ― 传送具有实时属性的数据;
  RTP 控制协议(RTCP) ― 监控服务质量并传送正在进行的会话参与者的相关信息。RTCP 第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。
  协议结构
  1 2 3 8 9 16bit
  V P X CSRC Count M Payload Type
  Sequence number Timestamp
  SSRC CSRC (variable 0 – 15 items 32bits each)
  V ― 版本。识别 RTP 版本。
  P ― 间隙(Padding)。设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。
  X ― 扩展位。设置时,在固定头后面,根据指定格式设置一个扩展头。
  CSRC Count ― 包含 CSRC 标识符(在固定头后)的编号。
  M ― 标记。标记由 Profile 文件定义。允许重要事件如帧边界在数据包流中进行标记。
  Payload Type ― 识别 RTP 有效载荷的格式,并通过应用程序决定其解释。Profile 文件规定了从 Payload 编码到 Payload 格式的缺省静态映射。另外的 Payload Type 编码可能通过非 RTP 方法实现动态定义。
  Sequence Number ― 每发送一个 RTP 数据包,序列号增加1。接收方可以依次检测数据包的丢失并恢复数据包序列。
  Timestamp ― 反映 RTP 数据包中的第一个八位组的采样时间。采样时间必须通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。
  SSRC ― 同步源。该标识符随机选择,旨在确保在同一个 RTP 会话中不存在两个同步源具有相同的 SSRC 标识符。
  CSRC ― 贡献源标识符。识别该数据包中的有效载荷的贡献源。
  可靠传输协议
  Reliable Transport Protocol-----RTP
  应用于EIGRP中,是它的组件

http://www.niftyadmin.cn/n/3230038.html

相关文章

Java 文件夹的操作

package expression;import java.io.File;public class Demo2{public static void main(String[] args) {File file new File("dir/dir1/dir2/dir3");//boolean f file.mkdir();创建单个文件夹boolean flag file.mkdirs();//创建文件夹及其子文件夹System.out.pr…

ILMerge参考文档

ILMerge Michael Barnett Research in Software Engineering (RiSE) Microsoft Research Copyright © Microsoft Corporation. All rights reserved. 原文链接:https://github.com/dotnet/ILMerge/blob/master/ilmerge-manual.md 1. Introduction This doc…

python人像美颜_200 行 Python 代码实现简单图片人像识别换脸

在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸。这个过程分四步:检测脸部标记。旋转、缩放、平移和第二张图片,以配合第一步。调整第二张图片的色彩平衡,以适配第一张图片…

Suricata

Suricata is the OISF IDP engine, the open source Intrusion Detection and Prevention Engine. IDS:Intrusion Detection System入侵检测系统 IPS:Intrusion Prevention System入侵防御系统 Suricata.yaml Max-pending-packets With the max-pending…

Java开发 drawimage 绘制图像

第四个参数是在哪上面画就通知谁 package expression;import java.awt.Canvas; import java.awt.Graphics; import java.awt.Image; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer;import javax.swing.ImageIcon; import javax.swing.JFrame;imp…

LMerge-github

ILMerge ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序。它可以免费使用,并以NuGet包的形式提供。 如果您在使用它时遇到任何问题,请与我们联系。(mbarnett at microsoft dot com)。但首先尝试阅读文档。 ILMerg…

数据结构学习笔记3.1--划分

划分是快速排序的根本机制,主要是把数组分为两组:小于关键字的数据项在一组,大于关键字的数据项在一组。 /*** 划分数据* * param left 左边数据* param right 右边数据* param pivot 参照值* return*/public static int partitionIt(int lef…

RTP协议的报文结构

RTP头格式如图structure所示:开始12个八进制出现在每个RTP包中,而CSRC标识列表仅出现在混合器插入时。各段含义如下: ①版本(V) 2位,标识RTP版本。 ②填充标识(P) 1位,如…