APP下载

实时视频中SIP与RTSP的应用

2013-01-31张功国陈莹星

电视技术 2013年9期
关键词:服务器端信令数据流

张功国,陈莹星

(1.重庆邮电大学,重庆400065;2.重庆信科设计有限公司,重庆401121)

随着Internet日益发展,网络的传输数据不仅限制于文字与图形,语音与视频也成为了主流,在现有的网络资源下,带宽的限制影响了多媒体的传输质量。实现传统的下载播放也较为困难,而流媒体技术的产生很好地解决了这个问题。

流媒体技术[1]是指将语音、视频形成一种稳定、连续的传输流或回放流,能够支持视频流的实时传输与实时播放功能,在用户发出视频请求时,在流媒体的服务器端会将连续且稳定的数据流发往客户端,一旦客户端接收到数据,不需等到数据下载完毕后才能进行播放,而是实时地进行数据流的稳定播放。

在无线视频监控系统中为满足用户能实时控制流媒体的播放,实现点播用于远程控制流媒体如暂停、快进、快退等。在本方案中采用SIP协议来控制会话,RTSP协议来控制实时流的VCR功能。

1 SIP与RTSP的异同点

SIP协议[2]与RTSP协议[3]的共同点在于它们都是应用层的用来建立、终止流媒体会话的双向交互的信令控制协议,利用文本协议进行编码,SIP与RTSP的操作模式都是通过客户端/服务器的请求/响应模式来完成信令的交互过程。RTSP与SIP均用SDP来描述会话。

SIP协议与RTSP协议的区别:SIP主要采用三次握手机制应用于传输层上,保证信令可靠稳定的交互过程,SIP独立于媒体,通过代理服务器、注册服务器、重定向服务器的作用来完成信令的交互过程。SIP优点是将建立一个会话和描述一个会话相分离,具有良好的互操作性,同时利用SIP服务器来完成基于Request—URL的SIP请求和基于报文头内容的SIP应答寻找路由的服务。利用这个优势使得SIP成为端到端的协议,并且这样的协议良好地体现了端到端的智能化,这是由于SIP消息自身存在用于路由的消息。由RealNetworks和Netscape共同提出的实时流协议RTSP[4](RealTimeStreamingProtocol),该协议的主要作用是将一对多应用程序通过IP网络有效地传送多媒体数据,RTSP[4]主要架接在TCP协议上的信令控制传输层对称的有状态的协议。它允许客户端/服务器端相互发送请求,同时保持用户的状态。而RTSP则侧重于完成流媒体的控制如暂停、播放、快进、快退等。RTSP的优点是多服务器支持每个流放在不同服务器上,用户端自动与不同服务器建立几个并发控制连接,媒体同步在传输层执行。RTSP控制通过单独协议发送的流,与控制通道无关。例如,RTSP控制可通过TCP连接,而数据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会继续发送。在连接生命期,单个媒体流可通过不同TCP连接顺序发出请求来控制。所以,服务器需要维持能联系流与RTSP请求的连接状态基于流媒体服务器的结构。

2 实时视频的设计与实现

RTSP主要在多媒体流传输过程中,利用播放器与服务器之间通过交换RTSP消息来实现资源描述信息的获取、建立连接、播放等功能。利用SIP来完成会话的建立,并建立起视频流。在一次信令的交互过程中主要用到的方法如表1所示。

表1 SIP与RTSP的主要方法

在实时视频请求的过程中,利用SDP描述符来完成请求过程,具体的流程如图1所示。

图1 SIP实现实时视频建立过程

用户将请求的实时视频的信息,通过流媒体服务器的客户端来接收用户请求消息,并向SIP服务器发送一个INVITE请求,其中包含目的用户、端口号等信息,SIP服务器收到该请求消息后,先向流媒体服务器回送一个100 Trying,表示正在尝试连接,继而将消息转发到前端,如果前端收到了该请求,就会向SIP服务器发送101 Dialog Establishement的消息给服务器,服务器转发给流媒体服务器,直到前端分别发送180 Ring和200 OK并得到流媒体服务器的ACK确认后,表示该请求建立成功[5]。具体的流程如图2所示。

图2 客户端向流媒体服务器请求播放视频

在流媒体服务器的客户端中利用socket对用户端口进行监听,如果用户输入的流媒体服务器的地址、端口以及流媒体服务器的地址、端口和RTSP的端口、用户名、密码等信息符合,则用户就可以向流媒体服务器发起请求。首先,客户端向服务器端发送带有OPTION请求,如果请求成功,服务器端就会发送允许请求的方法给客户端;其次,客户端继续发送DESCRIBE请求给服务器端,并回应200 OK表示请求成功;然后,客户端发送SETUP用以建立传输机制,服务器为其建立一个视频服务;最后客户端发送PLAY请求,一旦PLAY请求成功,则用户就可以获得该视频资源。

在SIP模块中主要负责信令会话的呼叫与建立过程,而RTSP模块负责流媒体的控制。利用各自的特点共同完成视频播放的过程,信令模块的设计过程如图3所示。

图3 SIP模块处理过程

在RTSP模块主要由编码器、解码器、播放器和服务器组成。RTSP作为会话控制的协议,跨接于RTP与RTCP协议之上,能够将多媒体文件切割成多个适合于网络传输的片段,经过封装后送往客户端,客户端可以随时进行解码播放,具体的处理模块如图4所示[6]。

图4 RTSP模块处理过程

客户端主要完成与服务器端的呼叫建立过程以及流媒体控制过程,利用RTP协议来接收数据流,接收到的数据流通过解码后,还原成原始图像,通过播放器在本地实时播放数据[7]。为了让服务器端更好地了解客户端的播放情况,需要利用RTCP协议来完成数据包的发送。服务器端根据RTCP包来动态调整传输速率,节省带宽资源,提高视频质量。

服务器端收到请求后,将前端采集到的音、视频数据进行分离,利用RTP协议将数据打包通过UDP端口传递到客户端,RTP协议能够提供时间信息,反映RTP数据帧中的数据采用时间,客户端可以依据这个时间来重建数据的时序关系,用于正常播放媒体流[8]。由于RTP是作为传输层的协议建立在UDP协议上,所以它没有可靠的机制来保证数据正确到达目的地,而且也不支持流量控制与拥塞控制。鉴于网络不稳定等原因,需要适当调整传输速率,改变载荷类型等内容,在数据的传输过程中需要依靠RTCP来周期性地向RTP反应当前情况,继而,服务器端根据反馈回来的信息改变发送的速度,提高实时传输质量。

服务器端接收到RTSP请求后,产生RTSP请求对象,利用流会话的形式描述应答消息,并且解析请求内容,将相应的流媒体文件调入,利用RTP包来发送数据流。

3 结论

基于SIP的监控系统具有良好的灵活性与可扩展性,能够支持各种主流接入方式,利用RTSP协议,能够对实时数据流进行控制,一旦客户端与服务器端建立起视频流,可以将媒体流放在不同的服务器上,用户访问并发量的产生,满足用户的需求。

[1]吕雪花.流媒体视频服务器系统[D].上海:复旦大学,2007.

[2]沈波.SIP的分析和研究[J].数据通信,2001,4(8):56-58.

[3]茅炎菲,黄忠东.基于RTSP协议网络监控系统的研究与实现[J].计算机工程与设计,2011,32(7):315-318.

[4]李校林,刘海波.RTP/RTCP,RTSP在无线视频监控系统的设计与实现[J].电视技术,2011,35(19):89-92.

[5]高建水,陈耀武,李岚岚.基于RTSP协议的视频点播系统设计[J].电子器件,2006,29(4):161-164.

[6]孟怀军,朱义胜.实时流协议RTSP的浅析[J].盐城工学院学报:自然科学版,2003,16(3):29-31.

[7]方群,王敏,吉逸.基于RTSP/RTP的媒体点播服务器的设计与实现[J].计算机工程与设计,2006,27(1):10-12.

[8]杨丰瑞,蒋培健,张杰.基于SIP的无线视频监控系统信令的设计与实现[J].电视技术,2011,35(19):102-104.

猜你喜欢

服务器端信令数据流
汽车维修数据流基础(上)
Linux环境下基于Socket的数据传输软件设计
汽车维修数据流基础(下)
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
基于信令分析的TD-LTE无线网络应用研究
基于Qt的安全即时通讯软件服务器端设计
LTE网络信令采集数据的分析及探讨
基于数据流聚类的多目标跟踪算法
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用