基于RTPRTCP和RTSP协议的流媒体快速流间同步机制

合集下载

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结在音视频传输领域,有多种常见的协议被用于在网络中传输音视频数据。

每种协议都有其独特的特点和适用范围。

下面将对其中几种常见音视频传输协议进行总结。

RTP是一种用于实时传输音视频数据的协议。

它提供了时间戳、序列号、同步源标识等功能,以确保音视频数据能够准确有序地传输。

RTP协议通常与RTCP(RTP Control Protocol)一起使用,后者用于监控数据质量、同步参与者等。

RTP适用于对实时性要求较高的音视频应用,如WebRTC、视频会议等。

2. RTSP(Real-Time Streaming Protocol)RTSP是一种基于客户端-服务端模型的流媒体控制协议。

它允许客户端向服务器发送命令,控制流媒体的播放、暂停、停止等操作。

RTSP常用于流媒体服务器和播放器之间的控制通信,如IP摄像头、网络电视等。

3. SIP(Session Initiation Protocol)5. HTTP Live Streaming(HLS)HLS是一种基于HTTP的流媒体传输协议。

它将整个音视频文件切分成多个小的TS(Transport Stream)分片文件,并使用M3U8文件来描述这些分片的信息和顺序。

HLS适用于优化大规模流媒体内容的传输,如在线直播、点播,以及移动端的流媒体传输。

6. RTP over UDP/TCPRTP协议通常在UDP(User Datagram Protocol)或TCP (Transmission Control Protocol)协议上运行。

使用UDP时,RTP提供了实时性高、延迟低的优势,适用于对数据准确性要求不高的应用。

而使用TCP时,RTP可以提供可靠性,保证音视频数据的有序性和完整性,适用于对数据准确性要求较高的应用。

综上所述,不同的音视频传输协议适用于不同的应用场景。

RTP和RTSP适用于流媒体的实时传输和控制;SIP和WebRTC适用于实时通信应用;HLS适用于优化大规模流媒体传输;而RTP over UDP/TCP则根据应用的具体需求选择不同的传输方式。

基于RTPRTCP和RTSP协议的流媒体快速流间同步机制

基于RTPRTCP和RTSP协议的流媒体快速流间同步机制

基于RTPRTCP和RTSP协议的流媒体快速流间同步机制基于RTP/RTCP和RTSP协议的流媒体快速流间同步机制卢日北京邮电大学电信工程学院,北京(100876)E-mail:****************摘要:多媒体同步技术是流媒体技术中一项关键的技术,在通常的流媒体客户端设计中,同步信息的建立依赖于典型地承载在UDP协议之上RTCP包,导致媒体对象的第一回放时间具有不可预测性。

为了缩短回放前的等待时间,本文基于RTP/RTCP协议和RTSP协议,提出了一种快速确定媒体流间同步关系的机制。

关键词:RTP,RTSP,流媒体,流间同步1. 引言流媒体技术是近几年Internet飞速发展的产物,它融合了媒体数据的采集、编解码、存储以及网络传输等多项技术,它的出现有效地解决了音频、视频等媒体数据在计算机网络中的实时传输的问题,被广泛应用于远程教育、视频点播、视频会议、IPTV等业务中。

多媒体同步技术[1]是流媒体技术中一项关键的技术,已经引起了国内外的广泛关注。

多媒体同步技术的目的就是向用户展示多媒体信息时,保持多媒体对象内和对象间固有的时域约束关系。

多媒体同步包含两类同步:一类是流内同步,其主要任务是保证媒体流内部的相对时态关系,也就是按一定的时间要求传送每一个多媒体对象,并在客户端能够进行连续的展现。

另一类是流间同步,主要任务是维护媒体对象间的时间关系,如音频和视频之间的时间关系(即唇同步)、音视频与文字之间的时间关系等等。

RTP/RTCP协议[2]是流媒体协议栈[3]中一个重要的组成部分,它承担了媒体数据的传送任务,RTSP协议[4]则在流媒体协议栈中负责控制媒体数据的有效传输,RTSP和RTP/RTCP 协议是整个流媒体协议栈的核心部分。

本文主要针对IP网络环境,并基于RTP/RTCP协议和RTSP协议,利用RTP时间戳、RTCP包中RTP时间戳和NTP (Network Time Protocol)时间戳的映射关系以及RTSP中RTP时间戳和NPT(Normal Play Time)时间戳的映射关系,快速地确定媒体流间的同步关系,同时还可以消除各媒体流间的同步依赖关系,使得流间同步的复杂度与媒体流的数目无关。

RTSP协议实时流媒体传输的基本协议

RTSP协议实时流媒体传输的基本协议

RTSP协议实时流媒体传输的基本协议随着互联网的发展和网络带宽的提升,实时视频流媒体传输变得越来越普遍。

为了满足用户对实时视频的需求,一种被广泛应用的协议是实时流媒体传输协议(Real-Time Streaming Protocol,RTSP)。

一、什么是RTSP协议?RTSP协议是一种应用层协议,旨在管理和控制实时流媒体的传输。

它允许客户端和服务器之间进行交互和通信,以控制媒体播放,例如播放、暂停、停止、快进和倒退等。

RTSP协议使用基于文本的请求和响应模型,类似于HTTP协议。

客户端向服务器发送请求,服务器通过响应来回应客户端的请求。

这种交互的方式使得RTSP协议具有灵活性,同时也增加了其可扩展性。

二、RTSP协议的工作原理RTSP协议在实时流媒体传输中起着重要的作用。

以下是RTSP协议的基本工作原理:1. 建立连接客户端与服务器之间首先建立RTSP连接。

通常,客户端会向服务器发送一个OPTIONS请求,以确认服务器是否支持RTSP协议。

服务器回复一个带有支持的方法列表的响应。

2. 会话描述客户端发送一个DESCRIBE请求,请求服务器提供有关媒体资源的描述信息。

服务器回复一个带有媒体描述的响应,包括媒体类型、媒体格式等信息。

3. 控制会话客户端通过发送SETUP请求来建立媒体传输的会话。

服务器回复一个带有会话标识符的响应,以便将来的操作都与该会话标识符相关联。

4. 媒体控制客户端可以通过发送PLAY、PAUSE、TEARDOWN等请求来控制媒体的播放,暂停和停止。

服务器相应地回复相关响应来执行相应操作。

5. 终止连接当会话结束时,客户端发送TEARDOWN请求来终止与服务器的连接。

三、RTSP协议的优点和应用场景RTSP协议具有以下几个优点:1. 灵活性和可定制性RTSP协议允许客户端与服务器之间进行多种交互,提供了灵活的控制和管理实时流媒体的能力。

客户端可以根据需要控制媒体的播放、暂停、停止等操作,满足不同的需求。

RTP与RTCP协议在实时音视频传输中的作用与优化策略

RTP与RTCP协议在实时音视频传输中的作用与优化策略

RTP与RTCP协议在实时音视频传输中的作用与优化策略实时音视频传输(Real-time Audio and Video Transport)是指通过网络传输实时音频和视频数据的过程。

在这个过程中,RTP(Real-time Transport Protocol)和RTCP(Real-time Transport Control Protocol)这两个协议起到了重要的作用。

本文将探讨RTP与RTCP协议在实时音视频传输中的作用,并提出一些优化策略。

一、RTP协议的作用与优化策略RTP协议是实时音视频传输的关键组件,它负责将音频和视频数据进行分组,并在传输过程中提供时序和同步的功能。

RTP协议的作用主要包括以下几个方面:1.数据分组:RTP将音频和视频数据按照一定的策略进行分组,每个数据包都包含了一个序列号和时间戳。

这些信息可以帮助接收方对数据进行重组和同步。

2.时序与同步:RTP协议通过序列号和时间戳等机制,确保接收方可以按照正确的顺序和时间播放音频和视频数据,从而保持音视频的同步性。

3.传输控制:RTP协议可以通过调整传输速率和丢包恢复等机制,控制音视频数据在网络上的传输质量。

这对于实时音视频传输来说非常关键,可以保证音视频的流畅性和稳定性。

为了优化RTP协议的性能和传输效果,可以采取以下策略:1.选择合适的编解码算法:不同的音频和视频编解码算法对传输带宽的要求不同。

选择适合网络条件的编解码算法可以降低传输延迟,提高数据传输效率。

2.优化数据分组策略:合理设置RTP数据包的大小和分组方式,可以降低网络传输的延迟和丢包率。

例如,将音频和视频数据进行合理的拆分和分组,避免大的数据包对网络传输造成的负担。

3.动态调整传输速率:根据网络带宽和质量的变化,采用自适应的传输速率控制策略。

例如,可以根据网络拥塞程度和接收端的缓冲状态来调整传输速率,以达到最优的传输效果。

二、RTCP协议的作用与优化策略RTCP协议是RTP协议的补充,主要用于实现音视频传输过程中的控制和反馈。

RTP,RTCP,RTSP协议介绍

RTP,RTCP,RTSP协议介绍

RTP,RTCP,RTSP协议介绍流媒体是边下载边播放的⽅式, 是视频会议、IP电话等应⽤场合的技术基础。

为什么TCP/IP协议就不能满⾜多媒体通信的要求呢?因为TCP有以下4个特点:1.TCP重传机制2.TCP拥塞控制机制3.TCP报⽂头⽐UDP报⽂头要⼤4.TCP的启动速度慢对⽐:IP:数据传输 RTP:多媒体数据实时传输TCP:保证数据传输可靠 RTCP:保证多媒体数据传输的可靠RTP提供时间标志,序列号以及其他能够保证在实时数据传输时处理时间的⽅法RTCP是RTP的控制部分,是⽤来保证服务质量和成员管理的RTSP具体数据传输交给RTP,提供对流的远程控制RSVP预留带宽,提⾼QoS(Quality of Sever)RTP通常使⽤UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上⼯作。

当应⽤程序开始⼀个RTP会话时将使⽤两个端⼝:⼀个给RTP,⼀个给RTCP(RTP port + 1). RTP本⾝并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

通常RTP算法并不作为⼀个独⽴的⽹络层来实现,⽽是作为应⽤程序代码的⼀部分。

RTSP与RTP最⼤的区别在于:RTSP是⼀种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作。

RTSP可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性。

RTSP 默认使⽤554端⼝, ⾮常类似 HTTP 协议的流控制协议, rtsp 的命令总是按照顺序来发送.RTP/RTCP -------------------------RFC3550/RFC3551RTSP --------------------------RFC23262.1 RTP数据协议RTP 为实时应⽤提供端到端的运输,但不提供任何服务质量的保证,服务质量由RTCP来提供。

基于SIP、RTP/RTCP和RTSP协议的视频监控系统

基于SIP、RTP/RTCP和RTSP协议的视频监控系统
褚 典 , 江春华 , 郝宗波 , 江 维
( 1 . 电子科技 大学计 算机 科学与工程 学院, 四川 成都 6 1 0 0 5 4 ;2 . 电子科技 大学信息与软件 学院, 四川 成都 6 1 0 0 5 4 )
摘要 : 从 流媒 体 协 议 入 手 , 描 述会话发起协议 S I P ( S e s s i o n I n i t i a t i o n P r o t o c o 1 ) 、 实时 传 输 协 议 R Y P ( R e 1. a t i m e T r a n s p o r t P r o . t o c o 1 ) 、 实 时 传 榆控 制 协 议 R T C P ( r P C o n t r o l P r o t o c o 1 ) 和 实 时流 传 输 协 议 R T S P ( R e a 1 . T i m e S t r e a mi n gP r o t o c o 1 ) 的 原 理 以及
2 .S ch o o l o f I n f o r m a t i o n nd a S o f t w a r e E n i g n e e i r n g , U n i v e r s i t y f o E l e c t o r n i c S c i e n c e nd a T e c h n o l o g y f o C h i n a , C h e n g d u 6 1 0 0 5 4 , C in h a )
Vi d e o S u r v e i l l a n c e S y s t e m Ba s e d o n S I P,RTP / RTCP a n d RTS P
CHU D i a n ,J I ANG C h u n . h u a ,HAO Z o n g — b o ,J I AN G We i

RTSP协议的实时流媒体传输与视频播放控制

RTSP协议的实时流媒体传输与视频播放控制

RTSP协议的实时流媒体传输与视频播放控制随着网络技术的迅速发展,实时流媒体传输与视频播放控制成为了现代多媒体领域的热门课题。

其中,RTSP(Real Time Streaming Protocol,实时流传输协议)作为一种通信协议,被广泛应用于实时流媒体的传输与控制。

本文将探讨RTSP协议的原理、功能和应用,并分析其在实时流媒体传输与视频播放控制中的关键作用。

一、RTSP协议的原理与基本工作方式RTSP协议是一种应用层协议,基于客户端/服务器模型,用于控制实时流媒体传输过程中的媒体会话。

它通过建立控制连接和传输连接,实现了流媒体的传输与控制分离。

控制连接负责处理与媒体会话相关的操作指令,而传输连接则负责实际的媒体数据传输。

在RTSP协议中,客户端发起请求,服务器通过回复实现相应操作。

客户端可以向服务器发送各种控制指令,如播放、暂停、停止、快进、快退等。

服务器则对这些指令进行解析,并进行相应的操作,如传送媒体数据、调整播放速度、发送状态消息等。

二、RTSP协议的功能与特点1. 实时流媒体传输:RTSP协议可以有效地传输实时流媒体数据,支持多种流媒体格式,如音频、视频、文本等。

它通过控制连接与传输连接的配合,实现了高效可靠的流媒体传输。

2. 视频播放控制:RTSP协议具备丰富的视频播放控制功能,可以实现播放、暂停、停止、快进、快退等操作。

用户可以根据需求调整播放状态,实现对视频内容进行灵活的控制。

3. 与其他协议的结合:RTSP协议兼容性较好,可以与其他相关协议相结合,如RTP(Real-time Transport Protocol,实时传输协议)用于媒体数据的传输,SDP(Session Description Protocol,会话描述协议)用于描述会话的相关参数等。

4. 开放式标准:RTSP协议是一种开放式标准,其规范和实现代码均可供公众访问和使用。

这使得开发人员可以根据实际需要进行定制和扩展,以满足不同应用场景的需求。

RTP-RTCP-RTSP

RTP-RTCP-RTSP

RTP: Real-time Transport Protocol,实时传输协议,一般用于多媒体数据的传输。

RTCP: RTP Control Protocol,实时传输控制协议,同RTP一起用于数据传输的监视,控制功能。

RTSP: Real Time Streaming Protocol,实时流协议,用于多媒体数据流的控制,如播放,暂停等。

RTP/RTCP相对于底层传输层,和RTSP,SIP等上层协议一起可以实现视频会议,视频直播等应用。

rtsp发起/终结流媒体(通过sdp)rtp传输流媒体数据rtcp对rtp进行控制,同步。

RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用RTP/RTCP是实际传输数据的协议RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到ServerRTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送,等等(ixmy)RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP 来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。

而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。

因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

RTP和RTCP协议分析与应用

RTP和RTCP协议分析与应用
为了满足实时性需求,出现了实时传输协议(RTP)、实时传输控制协议(RTCP)和实时流协议(RTSP)等流媒体协议。
随着数字视音频、网络技术的进1步发展,人们已经不满足于在网络上只收发电子邮件这样的文本传输,提出了在互联网上有效实时地传输多媒体信息的新要求。而网络上的多媒体通信应用和数据通信应用有比较大的差别,多媒体应用要求客户端播放声音和图像时要流畅、声音与图像同步等,对网络的延时和带宽要求很高。流媒体(flow-media)就是为适应多媒体在Internet/Intranet中的应用与发展而产生的。如今,流媒体已经成为下1代网络应用的重要发展方向。应用流媒体实现视频实时通信具有重大的现实意义和实用价值。
RTP、RTCP、RTSP作为流媒体的应用层协议,早在1996年就被IETF接纳为Internet标准,目前RTP/RTCP已经成为流媒体传输中使用最广泛的协议。因此,可以考虑使用RTP/RTCP协议来实现MPEG-4标准的多媒体传输综合框架(Delivery Multimedia Integration Framework,DMIF)中的数据平面。要通过RTP进行MPEG-4的传输,必须把MPEG-4的媒体数据封装成1个个RTP包。随着流媒体技术的不断发展,基于RTP/RTCP协议的MPEG-4传输方法研究与应用将会变得越来越有意义。
流媒体是指在网络中使用流式传输技术的连续时基媒体,如视频、音频等。新1代视频压缩技术MPEG-4的出现正是适应了流媒体应用的发展,事实上正在逐渐成为流媒体通信的标准。它建立在几种成功的技术上,如数字视频、计算机图形以及WWW,旨在提供1个制作、发布和播放多媒体内容的综合平台。MPEG-4第1次提出了视频对象的概念,相对于传统的块压缩技术,它具有前所未有的灵活性和高效性,不仅可以用于未来的交互式视频服务需求,同时也兼容于传统方式视频的存储和传输,它无疑是网络视频压缩技术的优先选择。MPEG-4 标准以其高压缩率、高质量、低传输率成为目前和下1代网上多媒体传输的主要格式和标准,目前对MPEG-4的传输应用刚刚开始。除了传统的流媒体软件公司RealNetworks,Microsoft,Apple公司外,CISCO,Philips等公司也投入巨资角逐MPEG-4的流式传输应用。国内对这方面的研究还处在起步阶段,因此抓紧时间和抓住机遇研究基于MPEG-4的传输技术是必要的和有意义的。

Linux下的实时流媒体编程(RTP,RTCP,RTSP)

Linux下的实时流媒体编程(RTP,RTCP,RTSP)

流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。

RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。

一、流媒体简介随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。

目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。

通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。

如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。

流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。

流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。

通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。

由于受网络带宽、计算机处理能力和协议规范等方面的限制,要想从Internet上下载大量的音频和视频数据,无论从下载时间和存储空间上来讲都是不太现实的,而流媒体技术的出现则很好地解决了这一难题。

RTPRTCPRTSP协议详解

RTPRTCPRTSP协议详解

RTP、RTCP、RTSP协议详解一、RTP协议实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。

应用程序通常在UDP 上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。

但是RTP可以与其它适合的底层网络或传输协议一起使用。

如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。

RTP本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。

RTP协议并不保证传送或防止无序传送,也不确定底层网络的可靠性。

RTP 实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。

RTP协议由两个紧密链接部分组成:RTP―传送具有实时属性的数据;RTP控制协议(RTCP)―监控服务质量并传送正在进行的会话参与者的相关信息。

RTCP 第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。

协议结构1238916bitVPXCSRC CountMPayload TypeSequence numberTimestampSSRCCSRC (variable 0 –15 items 32bits each)V ―版本。

识别RTP版本。

P ―间隙(Padding)。

设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。

X ―扩展位。

设置时,在固定头后面,根据指定格式设置一个扩展头。

CSRC Count ―包含CSRC 标识符(在固定头后)的编号。

M ―标记。

标记由Profile 文件定义。

允许重要事件如帧边界在数据包流中进行标记。

Payload Type ―识别RTP有效载荷的格式,并通过应用程序决定其解释。

基于RTP_RTCP协议的实时数据传输与同步控制策略

基于RTP_RTCP协议的实时数据传输与同步控制策略

&’C( 主要通过发送 &’C( 包来反馈对发送方的数据接收
状况的反馈信息, 并实现 &’( 控制信息。 &’C( 包的类型和格 式主要有: 发送报告包( ; 接收报告包( ; 数据源描述包 8&) &&) ( ; 数据源退出包( ; 特定应用包( 。 8DE8 47/56) BFE ) G(() 每个要发送的 &’C( 包可 以 是 多 个 &’C( 包 的 组 合 , 但该 组 合 &’C( 包 必 须 是 包 括 一 个 8& 或 && , 一个数据源描述包, 该项描述将数据 该数据源描述包中必须包括 C=G@E 项描述, 源与该数据源的发送者对应起来。 文 中 媒 体 同 步 研 究 主 要 采 用 &’C( 报 告 中 的 发 送 报 告 ( 中发送方绝对时间和 &’( 时间戳的对应关系对来自同一 8&) 个发送源的多路媒体进行同步处理。 发送报告 8& 的主要信息: 同步信息源( 标识符: 为相关媒体的同步信 88&C ) #! 比特。 息源标识符, 与 &’( 头的同步源 HD 一致。
!&/ :’/87&/ :; <7’/=; >; !;*+*/ ( .H2 N2D O3P,936,9D ,Q RI46782S73 3:S M26G,9T 1,88I:7=367,:; ?:U7:2297:U , +IP27 /9,V7:=2 , WIH3: X:7V297;6D, WIH3: A#""BC)
%AA !""#$%" 计算机工程与应用
&’( 数 据 分 组 由 %! 个 字 节 的 头 部 信 息 域 和 有 效 负 载

基于RTP/RTCP协议流媒体传输的研究

基于RTP/RTCP协议流媒体传输的研究

传 输 为 基 础进 行 断 续 的异 步 传 输 数 据 在 传 输 中它 们 要 被 分 解 为 许 多包 , 由于 网络 是动 态 变 化 的 , 个 包 选 择 的 路 由可 能 不 尽 各 相 同 , 到 达 客 户端 的 时 间延 迟 也 就 不 等 。 为此 , 用 缓 存 系 统 故 使 来 弥 补延 迟 和抖 动 的影 响 . 保 证 数 据 包 的顺 序 正 确 . 而 使 媒 并 从 体 数 据能 连 续 输 出 . 而不 会 因 网络 暂 时 拥 塞 使 播放 出现 停 顿 。 再 次 , 流 式 传 输 的 实 现 需 要 合 适 的传 输 协 议 。 一 般 采 用 H丌. r P来 传 输 控 制 信 息 . 而用 [/D P C 厂 1U P来 传输 实 时 音 视 频 ) 数据。 3 流 媒 体 传 输 中使 用 的 关 键 技术 、
【 摘 要 】 随 着 It c : ne t的普及 , a r 个人计 算机处理能力 的提 高, 以及视 频压缩技 术的发展ቤተ መጻሕፍቲ ባይዱ, 流媒 体技 术 已经吸 引了越 来
越 多 的 关 注 。本 文在 分析 D rc hw和 R P原理 的基 础 上 , 出 了完 整 的 CS架 构 的 基 于 R WR C i t o eS T 提 / T T P的 视 频 传 输 方 案 , 适合 对 网络 视 频 传 输 有 比较 高 的 实 时性 要 求 的场 合 。
… …
术 的综 合 实 现 故 而 对 R P C T P流 媒 体 传 输 进 行 深 入 的研 究 的 A T 工 作 组 于 1 9 V 9 6年 公 布 为 R C 正 式 文 档 . 编 号 为 F 具 有 非 常 强 的 现 实 意 义 R C 8 9 是专 门 为交 互 式语 音 、 频 等 实 时 数 据 而 设 计 的 传 输 F 18 . 视 2 流 式 传 输 的 原 理 协 议 . 于 视频 传 输 等实 时 多 媒 体 应 用 。 用 首先 , 多媒 体 数 据 必 须 进 行 预 处 理 才 能适 合 流式 传输 . 是 这 Rr P被定 义 为在 一 对 一 或 一 对 多 的 传 输 情 况 下 工 作 .其 目 因 为 目前 的 网 络带 宽 对 多 媒 体 巨大 的数 据 流 量 来 说 还 显 得 远 远 的是 提 供 时 间 信 息 和 实现 流 同步 。Rr P的典 型 应 用 建 立 在 U P D 不 够 。预 处 理 主要 包 括 两 方 面 : 是 降低 质量 : 一 二是 采 用 先 进 高 上 。 r Rr P本 身 只保 证 实 时数 据 的 传 输 . 不提 供 流 量 控 制 或 拥 塞 也 效 的 压 缩 算 法 控制 . 它依 靠 R C T P提 供 这些 服 务 其次 , 流式 传 输 的实 现 需 要 缓 存 。 这是 因为 It t 以包 ne me 是 实 时传 输 控 制 协 议 R C ( elt eTasot ot l r. T P R a i rnpr C nr o —m oP

RTPRTCPRTSP协议分析

RTPRTCPRTSP协议分析

RTPRTCPRTSP协议分析RTP/RTCP/RTSP协议分析一.RTSP协议分析1.1RTSP包分析客户端请求协商两个端口56400和56401,其中56400用于RTP,56401用于RTCP;服务端响应协商,服务端用6970和6971两个端口,6970用于RTP,6971用于RTCP;请求播放响应请求播放,接下来就在协商的端口上发送RTP包了。

1.2数据包的另一种表述方式OPTIONS rtsp://192.168.2.115/slamtv10.264 RTSP/1.0CSeq: 2User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)RTSP/1.0 200 OKCSeq: 2Date: Fri, Mar 17 2017 07:03:59 GMTPublic: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETERDESCRIBE rtsp://192.168.2.115/slamtv10.264 RTSP/1.0CSeq: 3User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)Accept: application/sdpRTSP/1.0 200 OKCSeq: 3Date: Fri, Mar 17 2017 07:04:00 GMTContent-Base: rtsp://192.168.2.115/slamtv10.264/Content-Type: application/sdpContent-Length: 525v=0o=- 1489734239908613 1 IN IP4 192.168.2.115s=H.264 Video, streamed by the LIVE555 Media Serveri=slamtv10.264t=0 0a=tool:LIVE555 Streaming Media v2017.01.26a=type:broadcasta=control:*a=range:npt=0-a=x-qt-text-nam:H.264 Video, streamed by the LIVE555 Media Servera=x-qt-text-inf:slamtv10.264m=video 0 RTP/AVP 96c=IN IP4 0.0.0.0b=AS:500a=rtpmap:96 H264/90000a=fmtp:96 packetization-mode=1;profile-level-id=4D4033;sprop-parameter-sets=Z01AM5JUDAS0IAAAAwBAAAAM0eMGVA==,aO48gA== a=control:track1SETUP rtsp://192.168.2.115/slamtv10.264/track1 RTSP/1.0CSeq: 4User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)Transport: RTP/AVP;unicast;client_port=49298-49299RTSP/1.0 200 OKCSeq: 4Date: Fri, Mar 17 2017 07:04:00 GMTTransport:RTP/AVP;unicast;destination=192.168.2.107;source=192.168.2.1 15;client_port=49298-49299;server_port=6970-6971Session: 1041AE6C;timeout=65PLAY rtsp://192.168.2.115/slamtv10.264/ RTSP/1.0CSeq: 5User-Agent: LibVLC/2.2.4 (LIVE555 Streaming MediaSession: 1041AE6CRange: npt=0.000-RTSP/1.0 200 OKCSeq: 5Date: Fri, Mar 17 2017 07:04:00 GMTRange: npt=0.000-Session: 1041AE6CRTP-Info:url=rtsp://192.168.2.115/slamtv10.264/track1;seq=24913;rtptim e=3524424615GET_PARAMETER rtsp://192.168.2.115/slamtv10.264/ RTSP/1.0CSeq: 6User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)Session: 1041AE6CRTSP/1.0 200 OKCSeq: 6Date: Fri, Mar 17 2017 07:04:00 GMTSession: 1041AE6CContent-Length: 102017.01.26TEARDOWN rtsp://192.168.2.115/slamtv10.264/ RTSP/1.0CSeq: 7User-Agent: LibVLC/2.2.4 (LIVE555 Streaming MediaSession: 1041AE6CRTSP/1.0 200 OKCSeq: 7Date: Fri, Mar 17 2017 07:04:04 GMT。

sipsdprtprtcprtsp间的关系

sipsdprtprtcprtsp间的关系

sipsdprtprtcprtsp间的关系⽤⼀句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据、RTCP对RTP进⾏控制,同步。

感觉这些基础关系此君写的⽐较清楚,转载学习⼀下,如有侵权,联⽴删1、 RTPReal-time Transport Protocol,是⽤于Internet上针对多媒体数据流的⼀种传输层协议。

RTP协议详细说明了在互联⽹上传递⾳频和视频的标准数据包格式。

RTP协议常⽤于流媒体系统(配合RTCP协议),视频会议和⼀键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。

RTP协议和RTP控制协议RTCP⼀起使⽤,⽽且它是建⽴在UDP协议上的。

RTP 本⾝并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于⽹络应⽤程序去实现这⼀过程。

RTP 并不保证传送或防⽌⽆序传送,也不确定底层⽹络的可靠性。

RTP 实⾏有序传送, RTP 中的序列号允许接收⽅重组发送⽅的包序列,同时序列号也能⽤于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。

2、 RTCP实时传输控制协议(Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP)是实时传输协议(RTP)的⼀个姐妹协议。

RTCP为RTP媒体流提供信道外(out-of-band)控制。

RTCP本⾝并不传输数据,但和RTP⼀起协作将多媒体数据打包和发送。

RTCP 定期在流多媒体会话参加者之间传输控制数据。

RTCP的主要功能是为RTP所提供的服务质量(Quality of Service)提供反馈。

RTCP收集相关媒体连接的统计信息,例如:传输字节数,传输分组数,丢失分组数,jitter,单向和双向⽹络延迟等等。

⽹络应⽤程序可以利⽤RTCP所提供的信息试图提⾼服务质量,⽐如限制信息流量或改⽤压缩⽐较⼩的编解码器。

RTPRTCP流媒体服务器技术网络服务器-电脑资料

RTPRTCP流媒体服务器技术网络服务器-电脑资料

RTPRTCP流媒体服务器技术网络服务器-电脑资料1 引言随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了流媒体技术,。

但现有公开文献所报道的大多是利用现有的流媒体服务器来搭建一个流媒体服务系统,或者是针对流媒体数据的编码方式所进行的1 引言随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了流媒体技术。

但现有公开文献所报道的大多是利用现有的流媒体服务器来搭建一个流媒体服务系统,或者是针对流媒体数据的编码方式所进行的研究。

本文对流媒体服务器技术的研究重点在于如何建立一个服务器,并且在实现流媒体传输的两个基本协议RTP/RTCP的基础上构建一个基本的流媒体服务器。

2 流媒体技术简介2.1 “流”的定义现在网上传输视频、音频主要有下载(Download)和流式传输(Streaming)两种方式。

流式传输是连续传送视/音频信号,当流媒体在客户机播放时其余部分在后台继续下载。

流式传输有顺序流式传输(Progressive Streaming)和实时流式传输(Realtime Streaming)两种方式。

实时流式传输是实时传送,特别适合现场事件,实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差,以减少对传输带宽的需求。

“实时”的概念是指在一个应用中数据的交付必须与数据的产生保持精确的时间关系。

在中使用流式传输技术的连续时基媒体就称为流媒体,通常也将其视频与音频称为视频流和音频流。

实现流式传输一般都需要专用服务器和播放器。

2.2 流媒体系统组件流媒体是由各种不同软件构成的,这些软件在各个不同层面上互相通信,基本的流媒体系统包含以下3个组件:播放器(Player),用来播放流媒体的软件。

服务器(Server),用来向用户发送流媒体的软件。

编码器(Encode),用来将原始的音频视频转化为流媒体格式的软件。

RTPRTCP、RTSP在无线视频监控系统中研究与应用的开题报告

RTPRTCP、RTSP在无线视频监控系统中研究与应用的开题报告

RTPRTCP、RTSP在无线视频监控系统中研究与应用的开题报告开题报告:一、选题理由无线视频监控系统是一种应用广泛的监控系统,它通过无线网络传输视频数据,实现对监控场所的实时监控和录像。

在无线视频监控系统中,RTP/RTCP、RTSP等关键技术是保证视频传输质量和实现视频监控的重要技术,因此,研究和应用这些技术对于提高无线视频监控系统的性能和功能具有重要意义。

二、研究目的本文的研究目的是探究RTP/RTCP、RTSP在无线视频监控系统中的应用,分析其原理和实现方案,并通过实验验证其可行性和优势。

三、研究内容1. RTP/RTCP协议1)RTP协议原理和特点2)RTCP协议原理和特点3)RTP/RTCP在无线视频监控系统中的应用2. RTSP协议1)RTSP协议原理和特点2)RTSP在无线视频监控系统中的应用3. 实验设计与实现1)实验环境2)实验过程和结果分析四、预期成果通过本文的研究,预期可以:1. 理解RTP/RTCP、RTSP的原理和特点;2. 掌握RTP/RTCP、RTSP在无线视频监控系统中的应用方法;3. 验证RTP/RTCP、RTSP在无线视频监控系统中的可行性和优势;4. 对无线视频监控系统的优化提供一定的参考意见。

五、进度安排本研究计划于2021年10月开始,预计于2022年6月完成。

进度安排如下:1. 前期调研和文献综述(10.2021-12.2021);2. RTP/RTCP原理与应用研究(01.2022-03.2022);3. RTSP原理与应用研究(04.2022-05.2022);4. 实验设计与实现(06.2022);5. 结论撰写和论文定稿(07.2022-08.2022)。

基于RTP_RTCP协议流媒体传输的研究

基于RTP_RTCP协议流媒体传输的研究

福建电脑2010年第2期基于RTP/RTCP协议流媒体传输的研究陈洪敏1,2(1、中国矿业大学计算机科学与技术学院江苏徐州2210082、江苏省徐州技师学院信息工程系江苏徐州221151)【摘要】:随着Internet的普及,个人计算机处理能力的提高,以及视频压缩技术的发展,流媒体技术已经吸引了越来越多的关注。

本文在分析DirectShow和RTP原理的基础上,提出了完整的C/S架构的基于RTP/RTCP的视频传输方案,适合对网络视频传输有比较高的实时性要求的场合。

【关键词】:流媒体;RTP;DirectShow1、引言随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。

流(Streaming)是近年在Internet上出现的新概念,主要是指通过网络传输多媒体数据的技术总称,即流媒体技术。

通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。

流媒体的应用非常广泛。

如在工业上,需要对一些多变的、有毒的、人类不宜久留的场合进行监控,如发生瓦斯爆炸的矿井;又如在医疗上,则需要一些高级专家对异地的病人进行诊断和治疗;在生活中,远居海外长年不能相见的亲人可以通过视频电话系统看到彼此的图像如对方就在眼前……这些都是基于高保真实时动态图像采集压缩和远程传输技术的综合实现。

故而对RTP/RTCP流媒体传输进行深入的研究具有非常强的现实意义。

2、流式传输的原理首先,多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽对多媒体巨大的数据流量来说还显得远远不够。

预处理主要包括两方面:一是降低质量;二是采用先进高效的压缩算法。

其次,流式传输的实现需要缓存。

这是因为Internet是以包传输为基础进行断续的异步传输。

数据在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等。

基于RTP协议的音频流同步控制策略及实现

基于RTP协议的音频流同步控制策略及实现

基于RTP协议的音频流同步控制策略及实现
王正;林中
【期刊名称】《计算机工程与应用》
【年(卷),期】2005(041)023
【摘要】提出一种利用RTP协议所提供的时间戳字段在接收端计算出传输延迟和延迟抖动,根据延迟抖动值自适应地调整一个语音段的播放时刻从而提高语音播放的连续性的算法.最后,通过在局域网环境下进行模拟实验,得出实验数据.
【总页数】4页(P169-172)
【作者】王正;林中
【作者单位】北京邮电大学华飞研究所,北京,100876;北京邮电大学华飞研究所,北京,100876
【正文语种】中文
【中图分类】TN919.8
【相关文献】
1.基于RTP的音频流多播系统的JMF实现 [J], 闫改珍;师卫
2.基于RTSP+RTP协议的智能家居视频监控系统的设计与实现 [J], 张楠德
3.基于RTP协议流媒体识别算法的设计及实现分析 [J], 纪凌;李怡谦
4.基于RTP协议的实时视频监控系统的实现 [J], 王祥;黄廷辉
5.基于IMX6嵌入式处理器的音频流媒体服务器的设计与实现 [J], 刘勇
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于RTP/RTCP和RTSP协议的流媒体快速流间同步机制卢日北京邮电大学电信工程学院,北京(100876)E-mail:luri_149@摘要:多媒体同步技术是流媒体技术中一项关键的技术,在通常的流媒体客户端设计中,同步信息的建立依赖于典型地承载在UDP协议之上RTCP包,导致媒体对象的第一回放时间具有不可预测性。

为了缩短回放前的等待时间,本文基于RTP/RTCP协议和RTSP协议,提出了一种快速确定媒体流间同步关系的机制。

关键词:RTP,RTSP,流媒体,流间同步1. 引言流媒体技术是近几年Internet飞速发展的产物,它融合了媒体数据的采集、编解码、存储以及网络传输等多项技术,它的出现有效地解决了音频、视频等媒体数据在计算机网络中的实时传输的问题,被广泛应用于远程教育、视频点播、视频会议、IPTV等业务中。

多媒体同步技术[1]是流媒体技术中一项关键的技术,已经引起了国内外的广泛关注。

多媒体同步技术的目的就是向用户展示多媒体信息时,保持多媒体对象内和对象间固有的时域约束关系。

多媒体同步包含两类同步:一类是流内同步,其主要任务是保证媒体流内部的相对时态关系,也就是按一定的时间要求传送每一个多媒体对象,并在客户端能够进行连续的展现。

另一类是流间同步,主要任务是维护媒体对象间的时间关系,如音频和视频之间的时间关系(即唇同步)、音视频与文字之间的时间关系等等。

RTP/RTCP协议[2]是流媒体协议栈[3]中一个重要的组成部分,它承担了媒体数据的传送任务,RTSP协议[4]则在流媒体协议栈中负责控制媒体数据的有效传输,RTSP和RTP/RTCP 协议是整个流媒体协议栈的核心部分。

本文主要针对IP网络环境,并基于RTP/RTCP协议和RTSP协议,利用RTP时间戳、RTCP包中RTP时间戳和NTP(Network Time Protocol)时间戳的映射关系以及RTSP中RTP时间戳和NPT(Normal Play Time)时间戳的映射关系,快速地确定媒体流间的同步关系,同时还可以消除各媒体流间的同步依赖关系,使得流间同步的复杂度与媒体流的数目无关。

2. RTP/RTCP协议简介实时传输协议RTP(Realtime Transport Protocol)为具有实时特征的数据流提供端到端的传输服务,其目的是提供时间信息和实现流同步。

RTP的典型应用建立在UDP之上,并且提供了部分传输层协议的功能,但RTP也可以在其它的网络或传输层协议(如TCP)上工作。

RTP本身并不监控和传输会话的服务质量(QoS)和会话的相关信息,它依靠实时传输控制协议RTCP(Realtime Transport Control Protocol)来完成,在RTP会话期间,各参与者周期性地传送RTCP包,包中含有RTP时间戳与NTP时间戳的映射关系、已发送的数据包的数量、丢失的数据包的数量等信息,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型,客户端则可以利用这些信息实现媒体间的同步。

RTP和RTCP的配合使用,能以有效的反馈和最小的开销使传输效率最佳化。

图1给出了RTP/RTCP协议的典型应用在流媒体协议栈中的位置。

图1 流媒体协议栈3. RTSP协议在同步控制中的作用实时流协议RTSP(Real Time Streaming Protocol)是一种用于控制实时数据流有效传输的应用层协议,同时也提供对实时数据流的远程VCR(Video Cassette Recorder)功能,如播放、暂停、快进、快退等,也就是说通过RTSP协议,流媒体客户端可以实现对多媒体服务器的网络远程控制,其中实时数据流的传输则可以借助于RTP。

在RTSP协议中,所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求和应答两种,消息的格式由一个起始行(请求行或状态行)、若干个头域,以及一个可选的消息体组成。

RTSP 协议的请求和应答消息主要通过起始行中的请求方法(method)字段和状态码(status code)字段完成,其中常用的请求方法有OPTIONS 、DESCRIBE、SETUP、PAUSE、PLAY、TEARDOWN等,状态码是一个三位数字,用于反馈请求的执行情况。

RTSP协议在流媒体协议栈中的位置如图1所示。

下面介绍RTSP协议在多媒体同步控制中起重要作用的两个头域Range和RTP-Info:Range:本文所提到的Range头域特指出现在RTSP的PLAY方法应答消息中的Range头域,该头域给出待传输节目的播放时间范围,所支持的格式有smpte、npt和clock,而且npt格式是必须支持的,因此本文选用npt格式进行讨论。

如“Range: npt=10-30”表示待发送的节目播放范围是10秒(相对于节目的起始点)到30秒。

RTP-Info:该头域必须出现在RTSP的PLAY方法应答消息中,用于告知流媒体客户端随后RTP会话中的一些参数:url:指示与随后RTP参数对应的流的URL;seq:指示接下来的RTP会话中该流的第一个RTP包的序列号。

该域用于协助流媒体客户端进行选时播放,流媒体客户端可以通过该域来区分选时播放前后的RTP包,从而丢弃选时播放前的RTP包;rtptime:该域指示该流中与Range域中起始时间对应的RTP时间戳,即用于建立该流的RTP时间戳与NPT时间戳的映射关系。

当某条媒体流在Range头域中所指示的起始一段时间内不会产生媒体数据包时,该参数可能会不出现,但在流媒体业务中基本不会出现这种情况,因此本文在后面的讨论中都假设该参数存在。

尽管RTCP可以用于将RTP时间戳对应到NTP时间戳上,却并不能建立RTP时间戳与NPT时间戳的映射关系,而且,由于该映射关系是通过RTSP控制信道传送的,因此可以确保节目刚开始播放和选时播放时该信息的可靠性,从而达到快速同步的目的,具体的同步机制将在下一节中介绍。

4. 快速流间同步机制多媒体流间同步的目的在与向用户展现媒体信息时,维持各媒体流间固有的时域约束关系。

在流媒体这种基于C/S模型的系统中,媒体流数据可以通过不同的信道进行传送,加之网络的时延抖动以及客户端和服务端时钟的差异等因素,使得媒体流间的时域约束关系遭到破坏,RTP协议便是在这种背景下提出来的,在为媒体数据流提供端到端传输服务的同时,还为媒体流提供时间信息,用于恢复媒体流间的时域约束关系[5]。

在使用RTP协议进行媒体数据传输时,每个RTP包中都携带有一个32位的RTP时间戳,该时间戳用于指定或导出包中各媒体访问单元(如音频帧等)的RTP时间戳,从而确定媒体流内各访问单元的相对时间关系,但由于RTP时间戳的起始点的随机性以及时间戳频率的差异,仅凭RTP时间戳并不能为恢复媒体流间的时域约束关系提供足够的信息,还需借助发送方传送过来的RTCP发送者报告SR(Sender Report),该报告中含有相关媒体流的RTP时间戳与NTP时间戳的映射关系,其中NTP时间戳是一个采用NTP时间戳格式表示的绝对时间(相对于1900年1月1日0点0分0秒),通过这种映射关系可以确定不同媒体流的RTP时间戳的关系,从而达到流间同步的目的。

但是这种RTP时间戳同步法存在一个问题:媒体流间第一次同步关系的确立依赖于各流的第一个RTCP SR包。

也就是说流媒体客户端必须要等待RTP会话中所有流的第一个RTCP SR报告来实现流间的第一次同步,从而会推迟媒体对象的起始回放时间,该问题在进行选时播放时显得尤为突出,因为下一个RTCP SR的发送时间可能会在选时后3秒甚至更长。

另外,考虑到RTP的典型应用是建立在UDP之上的,在网络存在丢包的情况下,有可能第一个甚至随后的多个RTCP SR包都被丢弃,这样所造成的媒体对象回放延时将十分严重而且不可预测。

基于这样的考虑,本文提出结合RTSP的PLAY方法应答消息中的Range头域和RTP-Info 头域来协助RTP的流间同步。

具体的实施方法是:流媒体客户端在接收到PLAY方法的应答消息后,将RTP-Info头域中各流的rtptime参数提取出来,并分别与NTP时间戳格式的0对应,即将各媒体流的第一个包的RTP时间戳映射到一个虚拟的NTP时间戳0上,在接下来RTP会话过程中,利用收到的第一个RTCP SR包计算出实际的NTP时间戳与NTP时间戳0的差值diff,而且随后的RTCP SR包的NTP时间戳都需要先减去该diff再与RTP时间戳建立映射关系。

也就是说在会话开始时,流媒体客户端首先利用RTP-Info头域中的rtptime参数建立RTP时间戳与本地虚拟NTP时间戳之间的对应关系,然后利用随后收到的第一个RTCP SR包,建立服务器端实际NTP时间戳与该虚拟NTP时间戳的映射关系,从而间接地建立起RTP时间戳与服务器端实际NTP时间戳的映射关系,后续的RTCP SR包则用于校准该映射关系,如图1所示,图中给出了两条媒体流的同步过程,多条流的情况与此类似。

该方案的有如下几个优点:1)流媒体客户端在会话开始时便可以建立RTP时间戳与NTP时间戳的对应关系,从而可以提前媒体对象的回放起始时间。

2)具有抗丢包能力。

由于媒体间的同步关系的是通过RTSP控制信道来建立的,因此即使在RTP会话中有RTCP SR包的丢失,也不会影响到媒体的第一回放时间。

3)当会话中有多条媒体流存在时,各媒体流间的同步无依赖关系,从而使得流间同步的复杂性与媒体流的数目无关。

4)由于此方案将RTP时间戳映射到的本地虚拟NTP时间戳的起始值为0,因此,该虚拟NTP 时间戳可直接作为该媒体流的绝对显示时间戳,从而减少了流媒体客户端计算量。

图2 两条媒体流的同步过程下面叙述流媒体客户端对媒体流实施各种VCR 控制后实现流间同步的详细步骤。

4. 1 第一次发送RTSP PLAY 请求当流媒体客户端利用RTSP 协议的DESCRIBE 、SETUP 等方法完成会话协商后,会向流媒体服务器发送RTSP PLAY 方法请求流媒体服务器开始发送媒体数据,为了实现流间同步,在流媒体客户端接收到该PLAY 方法的成功响应(即状态码为2xx )后,应该顺序执行如下操作:1) 提取该PLAY 响应的RTP-Info 头域中各流的rtptime 参数;2) 将各流的rtptime 参数值对应到NTP 时间戳0上;3) 收到各流的第一个RTCP SR 包时计算出实际的NTP 时间戳与NTP 时间戳0的差值diff ;4) 收到各流的第n (n>1)个的RTCP SR 包时,先该SR 包的实际的NTP 时间戳减去diff ,然后与该SR 包的RTP 时间戳建立对应关系;如果不考虑流间同步的问题,流媒体客户端在执行完第2步操作后,便可以开始媒体对象的解码和回放,第3步和第4步操作则用于校准RTP 时间戳与NTP 时间戳的映射关系。

相关文档
最新文档