RTP协议介绍
rtp协议详解

rtp协议详解RTP协议详解。
RTP(Real-time Transport Protocol)是一种用于在互联网上传输实时数据的协议,它通常用于音频和视频的传输。
RTP协议的设计旨在提供实时传输所需的服务,包括时间标记、流同步和丢包恢复等功能。
本文将对RTP协议进行详细解析,包括其特点、结构和工作原理等方面的内容。
RTP协议的特点。
RTP协议是一个面向实时的协议,它的设计目标是在网络上传输实时数据流,因此具有以下几个特点:1. 时间标记,RTP协议可以对数据包进行时间戳标记,以确保接收方可以按照正确的顺序和时间进行数据的播放和同步。
2. 流同步,RTP协议支持多媒体数据的同步传输,可以将音频和视频等多媒体数据进行同步传输,确保接收方可以按照正确的时间进行播放。
3. 丢包恢复,RTP协议可以通过序列号和时间戳等机制对丢失的数据包进行恢复,保证实时数据的连续性和完整性。
RTP协议的结构。
RTP协议的数据包结构包括固定头部和可选的扩展头部,其中固定头部包括版本号、填充位、扩展位、CSRC计数器等字段,可选的扩展头部用于传输一些额外的信息。
RTP协议的工作原理。
RTP协议的工作原理主要包括数据包的发送和接收两个过程。
发送方首先将要传输的数据进行分片,并添加RTP头部信息,然后通过UDP协议进行传输。
接收方接收到数据包后,根据RTP头部信息进行解析和处理,然后将数据进行重组和解码,最终进行播放或显示。
RTP协议的应用。
RTP协议广泛应用于音频和视频的实时传输领域,包括网络电话、视频会议、流媒体等方面。
在这些应用中,RTP协议可以保证实时数据的传输和同步,提供良好的用户体验。
总结。
RTP协议是一种面向实时数据传输的协议,具有时间标记、流同步和丢包恢复等特点,其结构包括固定头部和可选的扩展头部,工作原理包括数据包的发送和接收两个过程,应用领域包括网络电话、视频会议、流媒体等方面。
通过对RTP协议的详细解析,可以更好地理解其在实时数据传输中的作用和应用。
RTP协议的中文版

RTP协议的中文版协议名称:RTP协议的中文版一、引言RTP(Real-time Transport Protocol)是一种用于实时传输音频和视频数据的协议。
本协议旨在提供一套标准化的通信机制,以确保实时数据的传输和接收的准确性和可靠性。
本文档旨在描述RTP协议的中文版,以便在中文语境下更好地理解和应用该协议。
二、范围本协议适用于所有需要实时传输音频和视频数据的应用场景,包括但不限于实时音视频通话、实时音视频会议、实时音视频直播等。
三、定义3.1 RTP数据包RTP数据包是RTP协议中的基本单位,用于传输音频和视频数据。
每个RTP 数据包由RTP头和有效载荷组成。
RTP头包含序列号、时间戳、同步信源标识符等字段,用于标识和同步数据包。
有效载荷部分包含音频和视频数据。
3.2 RTP会话RTP会话是指在特定时间段内,通过RTP协议传输的一组相关音频和视频数据。
RTP会话由一个或多个RTP参与者组成,可以包含多个RTP流。
3.3 RTP参与者RTP参与者是指通过RTP协议发送和接收音频和视频数据的实体。
每个RTP 参与者都有唯一的同步信源标识符(SSRC),用于标识该参与者的数据包。
四、协议规范4.1 RTP数据包格式RTP数据包采用以下格式:- RTP头部:包含版本号、填充位、扩展位、CSRC计数、标记位、负载类型、序列号、时间戳、同步信源标识符等字段。
- CSRC列表:包含零个或多个CSRC标识符,用于标识参与者。
- 扩展头部:可选字段,用于扩展RTP头部。
- 有效载荷:包含音频和视频数据。
4.2 RTP会话管理RTP会话的建立和终止应遵循以下规范:- 参与者加入:新参与者加入RTP会话时,应向其他参与者发送加入请求,并等待其他参与者的确认。
- 参与者退出:参与者退出RTP会话时,应向其他参与者发送退出通知,并等待其他参与者的确认。
- 同步信源标识符:每个参与者在加入RTP会话时,应生成唯一的同步信源标识符,用于标识该参与者的数据包。
RTP

RTP协议介绍RTP概要RTP定义在RFC 1889中。
RTP是 IETF提出的适合实时数据传输的协议,支持在单目标广播和多目标广播网络服务中传输实时数据,能为实时媒体数据提供点到点的传输服务。
RTP 主要应用在Internet上传输对时延敏感的业务,如音频流和视频流。
RTP也可以用于传输电话呼叫,国际电信联盟在多媒体通信标准H.323 中采用了RTP。
RTP特性1、协议独立性RTP是独立于底层协议的传输机制,可以在UDP/IP、ATM AAL5和IPX层上实现。
2、同步机制RTP采用时间戳(Times tamp)来控制单一媒体数据流,但它本身并不能控制不同媒体数据流间的同步。
若要实现不同数据流之间的同步,必须由应用程序参与完成。
3、包传输路径回溯RTP中使用了混合器(把多个视频流混合成一个视频流)和解释器(网关或传输路径上编码格式转换器),因此它提供了当分组到达接收端后进行包传输路径回溯的机制,这种机制主要通过RTP包头中的SSRC和CSRC域来完成。
4、可靠性由于RTP的设计目的是传输实时数据流,而不是可靠的数据流,因此它不提供有关数据传输时间、错误检测和包顺序监控的机制,也就是讲RTP提供的实时服务没有资源预约,也没有Qos保证,这些任务依靠下层协议来完成。
5、RTP层不支持多路复用多路复用由低层协议来完成,如:UDP。
RTP信息包被封装在UDP中,当接收端同时收到来自不同地方的多个数据分组,通过UDP实现多路复用、检查和服务。
6、扩展性支持在单目标广播(Unicast)和多目标广播(Multicast)。
7、安全性RTP考虑到安全性能,支持数据加密和身份鉴别认证功能。
8、灵活性控制数据与媒体数据分离,RTP协议只提供完成实时传输的机制,开发者可以根据应用环境选择控制方式。
RTP在网络中的传输TCP协议是面向连接的协议,它的重传机制和拥塞控制机制(Congestion Control Mechanism)都是不适合用于实时多媒体传输的。
RTP协议中文版

RTP协议中文版一、引言RTP(实时传输协议)是一种用于在互联网上传输音频和视频的协议。
该协议旨在提供实时传输、容错和流控制的功能,以满足实时通信应用的需求。
本协议旨在规范RTP协议的中文版,以便更好地促进国内实时通信领域的发展。
二、定义1. RTP会话:指一组参与者之间的通信,通过RTP协议进行音频和视频的传输。
2. RTP数据包:指通过RTP协议传输的音频和视频数据的单元。
3. RTP流:指一组连续的RTP数据包,用于传输音频或视频数据。
三、协议规范1. RTP协议版本RTP协议的当前版本为2.0。
2. RTP会话的建立2.1 RTP会话的参与者应使用RTP协议的版本2.0。
2.2 RTP会话的参与者应通过SDP(会话描述协议)进行会话的描述和协商。
2.3 RTP会话的参与者应遵循SDP中关于媒体类型、编码格式和传输协议的描述。
3. RTP数据包格式3.1 RTP数据包由头部和有效载荷组成。
3.2 RTP数据包头部包含以下字段:- 版本:指示RTP协议的版本号。
- 填充位:用于填充RTP数据包,以满足特定的传输要求。
- 扩展位:用于指示RTP数据包是否包含扩展头部。
- CSRC计数:指示RTP数据包中CSRC标识符的数量。
- 标志位:用于指示RTP数据包的特性,如是否包含扩展头部、是否加密等。
- 序列号:用于标识RTP数据包的顺序。
- 时间戳:用于同步音频和视频数据。
- SSRC标识符:用于标识RTP数据包的源。
3.3 RTP数据包的有效载荷应根据媒体类型进行适当的编码和压缩。
4. RTP流控制4.1 RTP流控制应根据网络状况和参与者的能力进行适当的调整。
4.2 RTP流控制应遵循RTCP(RTP控制协议)的规范。
4.3 RTP流控制应包括以下功能:- 带宽管理:根据网络带宽的可用性和参与者的需求进行带宽分配。
- 拥塞控制:根据网络拥塞程度进行数据传输的控制。
- 延迟控制:根据实时通信应用的需求进行延迟控制,以保证音频和视频的实时性。
RTP协议详解实时传输协议的音视频数据传输机制

RTP协议详解实时传输协议的音视频数据传输机制实时传输协议(RTP)是一种专门用于音视频数据传输的协议。
它通过提供时间戳、序列号和同步源等机制,以确保音视频数据能够实时、有序、可靠地传输。
本文将详细讲解RTP协议的音视频数据传输机制。
一、RTP协议概述RTP协议是由IETF(Internet Engineering Task Force)制定的,在音视频通信领域得到了广泛应用。
它通过在音视频数据上附加头信息的方式,实现对数据的分组、传输和重组。
二、RTP报文结构RTP报文采用二进制的格式进行传输,一般由固定长度的头部和可变长度的有效载荷组成。
头部包含了报文的一些关键信息,如版本号、序列号、时间戳等,而有效载荷部分则存放着音视频数据。
三、RTP序列号与时间戳1. 序列号:RTP序列号是一个16位的无符号整数,用于标识RTP报文的顺序。
发送者在每发送一个RTP报文时,将序列号递增1并附加在报文头部,接收者通过对序列号进行排序,可以还原出音视频数据的正确顺序。
2. 时间戳:RTP时间戳用于标识音视频数据的播放时间,以毫秒为单位。
发送者在每发送一个RTP报文时,会将当前时间戳附加在报文头部,接收者可以根据时间戳信息对音视频数据进行同步。
四、RTP同步源(SSRC)RTP同步源标识了一路音视频数据的来源,它是一个32位的无符号整数。
通过SSRC,接收者可以确定音视频数据所属的流,并将不同流的数据进行分离与重组。
五、RTP报文传输流程RTP协议的音视频数据传输可以简要分为以下几个步骤:1. 数据封装:发送端将音视频数据打包成RTP报文,包括头部和有效载荷两部分。
2. 报文传输:发送端通过UDP(User Datagram Protocol)将RTP报文传输给接收端。
3. 报文接收:接收端通过UDP接收RTP报文,并对数据进行解析,提取出音视频数据和报文头部的各项信息。
4. 数据解封:接收端根据解析得到的信息,将收到的RTP报文解封得到音视频数据。
RTP协议中文版

RTP协议中文版协议名称:RTP协议中文版一、引言RTP(Real-time Transport Protocol)是一种用于实时传输音频和视频数据的协议。
本协议旨在提供一种标准化的通信方式,以确保实时传输的数据能够在网络中以高效、可靠的方式传输。
本协议的中文版旨在为中文用户提供更便捷的参考和理解。
二、范围本协议适用于所有需要实时传输音频和视频数据的应用程序和系统。
三、术语定义1. RTP数据包(RTP Packet):包含音频或视频数据的最小传输单位,由RTP头部和有效载荷组成。
2. RTP头部(RTP Header):包含RTP数据包的相关信息,如序列号、时间戳等。
3. 有效载荷(Payload):RTP数据包中携带的音频或视频数据。
4. SSRC(Synchronization Source):用于唯一标识RTP数据流的32位标识符。
5. CSRC(Contributing Source):用于标识贡献该RTP数据包的参与者。
四、协议规范1. RTP数据包格式RTP数据包由RTP头部和有效载荷组成,其格式如下:```0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | Sequence number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Timestamp |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CSRC |: :| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload ...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ```- V:协议版本号,占2位,当前版本为2。
RTP协议

介绍RTP协议的概念和作用RTP(Real‑time Transport Protocol,实时传输协议)是一种用于实时数据传输的网络协议。
它被广泛应用于音频、视频和其他实时多媒体数据的传输,为实时通信提供了可靠的数据传输机制。
RTP协议的主要作用是提供实时数据的传输、同步和恢复机制,以确保在网络传输过程中的实时性和准确性。
它被设计用于在IP网络上传输实时数据流,如音频和视频,尤其适用于实时通信应用,如音视频会议、IP电话和流媒体传输。
RTP协议通过将实时数据分割成小的数据包(packet),并为每个数据包添加时间戳和序列号等信息,实现了实时数据的传输和同步。
这些信息可以用于恢复丢失的数据、调整数据的播放速率以及提供实时流媒体传输所需的其他功能。
RTP协议还支持多播和单播方式,可以在多个终端之间进行实时数据传输。
它还提供了一些扩展机制,如RTP控制协议(RTCP),用于监控和控制传输质量,并提供参与者间的交互。
总之,RTP协议在实时通信领域扮演着重要角色,为音频、视频和其他实时多媒体数据的传输提供了可靠的机制,保证了实时数据的同步和准确性,满足了不同实时通信应用的需求。
解释RTP协议的基本工作原理和数据传输方式RTP(Real‑time Transport Protocol,实时传输协议)是一种用于实时数据传输的网络协议,它采用了一系列机制来确保实时数据的传输和同步。
本节将解释RTP协议的基本工作原理和数据传输方式。
工作原理RTP协议的基本工作原理如下:1.数据分割:RTP将实时数据流(如音频或视频)分割成较小的数据包(packet),通常称为RTP包。
每个RTP包包含了数据的一部分。
2.包头信息:每个RTP包都包含了一些关键的信息,如时间戳和序列号。
时间戳指示了每个数据包的时间顺序,而序列号用于在接收端对数据包进行排序。
3.传输方式:RTP协议可以使用UDP或TCP作为底层传输协议。
UDP通常用于实时数据传输,因为它提供了较低的延迟和更快的传输速度,但对于可靠性要求较高的应用,也可以选择使用TCP。
RTP实时传输协议

RTP:实时传输协议RTP:Real Time Transport Protocol实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。
应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。
但是 RTP 可以与其它适合的底层网络或传输协议一起使用。
如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。
RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。
RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。
RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。
RTP 由两个紧密链接部分组成:∙RTP ――传送具有实时属性的数据;∙RTP 控制协议(RTCP)――监控服务质量并传送正在进行的会话参与者的相关信息。
RTCP 第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。
协议结构1-2 3 4 8916bit V P X CSRC Count M Payload TypeSequence number TimestampSSRC CSRC (variable 0 – 15 items 32bits each)∙V ― 版本。
识别 RTP 版本。
∙P ― 间隙(Padding)。
设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。
∙X ― 扩展位。
设置时,在固定头后面,根据指定格式设置一个扩展头。
∙CSRC Count ― 包含 CSRC 标识符(在固定头后)的编号。
∙M ― 标记。
标记由 Profile 文件定义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1. RTP协议分析3.1.1. RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。
它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。
RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。
RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。
RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP 来提供。
3.1.2. RTP的协议层次——传输层的子层RTP被划分在传输层,它建立在UDP上。
同UDP协议一样,为了实现其实时传输功能,RTP也有固定的封装形式。
RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。
服务质量由RTCP来提供。
3.1.3. RTP协议原理RTP协议原理比较简单,负责对流媒体数据进行封包并实现媒体流的实时传输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行数据包的传输,具体见本文2.2.1RTP数据格式;RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
3.1.3.1. RTP的封装版本号(V):2比特,用来标志使用的RTP版本。
填充位(P):1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。
扩展位(X):1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩展头部。
CSRC计数器(CC):4比特,含有固定头部后面跟着的CSRC的数目。
标记位(M):1比特,该位的解释由配置文档(Profile)来承担。
载荷类型(PT):7比特,标识了RTP载荷的类型。
序列号(SN):16比特,发送方在每发送完一个RTP包后就将该域的值增加1,接收方可以由该域检测包的丢失及恢复包序列。
序列号的初始值是随机的。
时间戳:32比特,记录了该包中数据的第一个字节的采样时刻。
在一次会话开始时,时间戳初始化成一个初始值。
即使在没有信号发送时,时间戳的数值也要随时间而不断地增加(时间在流逝嘛)。
时间戳是去除抖动和实现同步不可缺少的。
同步源标识符(SSRC):32比特,同步源就是指RTP包流的来源。
在同一个RTP会话中不能有两个相同的SSRC值。
该标识符是随机选取的RFC1889推荐了MD5随机算法。
贡献源列表(CSRC List):0~15项,每项32比特,用来标志对一个RTP 混合器产生的新包有贡献的所有RTP包的源。
由混合器将这些有贡献的SSRC 标识符插入表中。
SSRC标识符都被列出来,以便接收端能正确指出交谈双方的身份。
3.1.3.2. RTP的会话过程当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。
目的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。
RTP数据发向偶数的UDP 端口,而对应的控制信号RTCP数据发向相邻的奇数UDP端口(偶数的UDP端口+1),这样就构成一个UDP端口对。
RTP的发送过程如下,接收过程则相反。
1) RTP协议从上层接收流媒体信息码流(如H.263),封装成RTP数据包;RTCP 从上层接收控制信息,封装成RTCP控制包。
2) RTP将RTP 数据包发往UDP端口对中偶数端口;RTCP将RTCP控制包发往UDP端口对中的接收端口。
3.1.3.3. RTCP的封装(可略去)RTP需要RTCP为其服务质量提供保证,因此下面介绍一下RTCP的相关知识。
RTCP的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。
在RTP会话期间,各参与者周期性地传送RTCP包。
RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,各参与者可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。
RTP和RTCP 配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
从图1可以看到,RTCP也是用UDP来传送的,但RTCP封装的仅仅是一些控制信息,因而分组很短,所以可以将多个RTCP分组封装在一个UDP包中。
RTCP 有如下五种分组类型。
3.1.3.4. RTCP工作机制(可略去)RTCP报文不封装音视频数据,而是封装发送端或者接收端的统计报表信息;在RTP会话期间,每个参与者周期性的向其它参与者发送RTCP控制信息包,如下图1-2所示:因为网络的情况很不稳定,如果网络情况好我们可以减少语音的延迟时间,也可以增大视频的发送帧率或质量。
若网络状况不好我们可以增大语音延迟时间以保证语音连续,也可减少视频的发送帧率或质量,以减少网络的阻塞。
RTCP包的发送率根据与会者的数量来调整。
3.1.4. RTP协议关键技术指标3.1.4.1. 时间戳时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。
时间戳的值给出了分组中数据的第一个字节的采样时间(Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。
在静默时,发送方不必发送数据,保持时间戳的增长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。
RTP规定一次会话的初始时间戳必须随机选择,但协议没有规定时间戳的单位,也没有规定该值的精确解释,而是由负载类型来确定时钟的颗粒,这样各种应用类型可以根据需要选择合适的输出计时精度。
在RTP传输音频数据时,一般选定逻辑时间戳速率与采样速率相同,但是在传输视频数据时,必须使时间戳速率大于每帧的一个滴答。
如果数据是在同一时刻采样的,协议标准还允许多个分组具有相同的时间戳值,如多个分组属于同一画像。
3.1.4.2. 时延影响时延的因素有多个方面:编解码、网络、防抖动缓冲、报文队列等都影响时延,其中有些是固定时延,如编解码网络速率等;有些是变化的,如防抖动缓冲和队列调度等,固定的时延可以通过改变编解码方式和提高网络速率来改变,而变化的时延通常采用提高转发效率来提高。
3.1.4.3. 抖动在视频电话中,语音、视频数据都是使用UDP协议传送的,但这种协议传输的数据包在网络层不能保证其发送顺序,需要应用层进行排序。
在网络的传输中都会有延时,且随着网络负载的变化,延时的长短也不相同,对于语音数据,如果接收方收到后立即播放,很容易造成语音的抖动。
RTP数据包到达时刻统计方差的估计值,以时间标志为单位测量,用无符号整数表达到达时刻抖动J定义为一对包中接收机相对发射机的时间跨度差值的平均偏差(平滑后的绝对值).如以下等式所示,该值等于两个包相对传输时间的差值,相对传输时间是指包的RTP时间标志和到达时刻接收机时钟,以同一单位的差值.若Si是包i的RTP时间标志,Ri是包i以RTP时间标志单位的到达时刻值,对于两个包i和j,D可以表达为D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)3.1.5. SJPHONE 与RTP/RTCP当进行一次通话时,并不是强制所有V oIP终端发送RTCP包。
在我们的实验中,SJPHONE似乎并不发送他们(It is quite a limitation in SJPHONE)。
因此也就不能依靠RTCP包中的网络信息来进行实验数据的分析。
3.1.5.1. SJPHONE 中的RTP时间戳基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。
比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。
时间戳增量:相邻两个RTP包之间的时间差(以时间戳单位为基准)。
采样频率:每秒钟抽取样本的次数,例如音频的采样率一般为8000Hz帧率:每秒传输或者显示帧数,例如25f/s详细解释:首先,时间戳就是一个值,用来反映某个数据块的产生(采集)时间点的,后采集的数据块的时间戳肯定是大于先采集的数据块的。
有了这样一个时间戳,就可以标记数据块的先后顺序。
第二,在实时流传输中,数据采集后立刻传递到RTP模块进行发送,那么,其实,数据块的采集时间戳就直接作为RTP包的时间戳。
第三,如果用RTP来传输固定的文件,则这个时间戳就是读文件的时间点,依次递增。
第四,时间戳的单位采用的是采样频率的倒数,例如采样频率为8000Hz时,时间戳的单位为1 / 8000 ,在Jrtplib库中,有设置时间戳单位的函数接口,而ORTP库中根据负载类型直接给定了时间戳的单位(音频负载1/8000,视频负载1/90000)第五,时间戳增量是指两个RTP包之间的时间间隔,详细点说,就是发送第二个RTP包相距发送第一个RTP包时的时间间隔(单位是时间戳单位)。
如果采样频率为90000Hz,则由上面讨论可知,时间戳单位为1/90000,我们就假设1s钟被划分了90000个时间块,那么,如果每秒发送25帧,那么,每一个帧的发送占90000/25 = 3600个时间块。
因此,我们根据定义“时间戳增量是发送第二个RTP包相距发送第一个RTP包时的时间间隔”,故时间戳增量应该为3600。