流媒体视频服务器的设计与实现

时间:2022-10-01 08:05:58

流媒体视频服务器的设计与实现

摘要:介绍了用于流媒体传输的RTP协议和实时流化协议RTSP,提出了视频点播服务器与客户端的交互过程,并详细介绍了LiveMedia库知识,建立了视频点播服务器,特别是加入了计费模块,实现了计费功能,并可以用于中小型的酒店,小区中,节约了成本。

关键词:VOD;RTSP;LiveMedia;计费接口

中图分类号:TP915.04 文献标识码:A 文章编号:1009-3044(2009)15-4019-03

The Design and Implementation of Streaming Media Video Server

ZHAO Peng1, DU Wen-hua2,ZHANG Dong-sheng3,LI Xiao-feng1,ZHAO Jie4

(1.Department of Computer Science and Technology,Shandong Jianzhu University, Jinan 250101, China; 2.Shandong Institute of Education,Jinan 250014,China;3.Jinan Cigarette Factory,Jinan 250104,China;4.No.5 High School of Qingzhou City in Shandong Provice,Qingzhou 262514,China)

Abstract: This paper describes RTP protocol for streaming media transmission and the RTSP Protocol for the Real-Time Streaming,introduces a video-on-demand server and the client interaction’s process, and puts up with the knowledge of LiveMedia library in detail, sets up the on-demand server, in particular, adds the billing module, implements the billing function, and can be used for small and medium-sized hotels, communities in order to save the cost.

Key words: VOD;RTSP;LiveMedia;the Billing Interface

1 引言

近年来,随着Internet技术的发展,主干网和接入网速率不断提高,为宽带应用提供了必需的硬件基础设施;网络和多媒体技术的发展为VOD(video on demand)产生创造了条件。同时,VOD属于流媒体技术的一种主要应用,它改变了传统的用户被动接受的方式(如收看电视),而代之以交互的方式,变革了人们传统的娱乐方式,具有极为广阔的前景。本文从降低系统成本的角度进行分析探索,提出了基于开源项目LiveMedia的方案。

2 流媒体服务器的概况

2.1 相关协议

与流媒体传输相关的协议有RTP,RTCP,RTSP,其中RTSP,RTP等实际应属于应用层协议,它们利用传输层TCP和UDP提供的服务来完成多媒体流式数据的传输,协议图如图1所示。

2.2RTP简介

1) RTP[1]是针对Internet上多媒体数据流的一个传输协议,由IETF(Internet工程任务组)作为RFC1889。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

RTP和UDP协议二者共同完成传输层协议功能。UDP协议只是传输数据包,不管数据包传输的时间顺序RTP的协议数据单元是用UDP分组来承载的。RTP协议虽然是传输层协议但是它没有作为OSI体系结构中单独的一层来实现。

2) RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。

当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。

2.3 RTSP简介

实时流协议RTSP(Real-time Streaming Protocol)[2]是由Real Networks和Netscape共同提出的。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上。它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

RTSP建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制。RTSP提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP用于控制多个数据发送会话,提供了选择发送通道(如UDP、组播UDP与TCP等)的方式,并提供了选择基于RTP的发送机制的方法。

RTSP主要为媒体服务器提供远程控制功能,在多媒体流传输的过程中,播放器和服务器之间通过交换RTSP消息来实现资源描述信息的获取、连接的建立、播放控制等功能。RTSP消息用纯文本格式表示,使用SDP(SessionDescriptionProtocol)协议描述。

3 服务器的设计与实现

3.1 服务器的设计

服务器与客户端经过OPTIONS,DESCRIBE,SETUP,PLAY后,服务器发送视频流RTP包到客户端,并且客户端每隔一小段时间向服务器发送RTCP反馈报告,服务器可以利用这些信息动态地改变传输速率,用户收到视频流后,解码播放。正如文章[3]所说,如图2所示客户端与服务器端的交互过程。

1) Option:客户端通过发送Option消息请求,服务器端通告它支持的所有交互方法。

2) Describe:客户端发送Describe请求,通过服务器端权限验证,响应关于请求媒体的相关信息;

3) Setup:客户机发送一个Setup请求,其中包括协议集和端口号(或者是端口号的一个范围),客户机通过这些协议集和端口来接收媒体流。服务器从中选择一个协议和端口,然后在应答消息中传回给客户机;

4) Play/Pause:播放和暂停,客户端可以设置播放的区间和暂停的时刻;

上一篇:虚拟现实技术――多媒体a课件开发的新方向 下一篇:FLASH中Date类案例分析与研究