3、3G视频点播系统中流媒体协议栈的模块设计
系统的模块化有利于整体功能的实现,本系统框架从流媒体协议栈进行规划,分为5个模块:人机界面、RTSP模块、RTP/RTCP模块,以及硬件媒体编解码器模块。模块架构如图3所示。
点击查看大图
图3 视频点播系统架构
3.1 人机界面(MMI)
界面部分是手机终端提供给用户的交互界面。用户可以使用它来控制播放的动作,比如通过点击Web的链接,接入流媒体服务器。可以进行播放、暂停、终止、快进、后退等操作,当然,所有操作是在服务允许的范围,超出服务范围的操作将被禁止。通过界面,用户就可以享受到视频/音频的多媒体服务,可以点播电影,也可以召开会议。
3.2 RTSP模块
RTSP模块是以客户端为主的应用控制模块,以适应3G手机终端对媒体点播的需要。主要内容包括:RTSP协议栈的会话的建立、会话的传输、会话的协商和会话的终止,以及文本指令的解析。在流媒体协议栈架构中,RTSP处于TCP/IP层之上,使用TCP协议传输会话数据。处于界面控制程序直接操作下,为应用界面提供编程接口。同时RTSP对媒体数据层和RTP协议有着控制的权利,可以调整RTP会话参数,以及媒体层同步等等。RTSP是一个类似HTTP的服务器-客户端的模型,但与HTTP不同的是双方都可发送请求并都可以响应请求,是一个对等互动的协商协议。
在此视频点播系统中,RTSP模块通过TCP协议的三次握手机制来保证命令消息通道的可靠性。一方面接收服务器的确认信息传给应用层进行处理;另一方面接收来自客户端的命令信息,解析后反馈给服务器。此外,RTSP模块支持以下操作:
(1)从媒体服务器端获取媒体。客户端能够通过HTTP或者其它模式来请求一个的图像描述。如果图像正被多点传输,那么图像描述就包含了用来传输连续媒体多点传输的地址和端口。如果图像只能被单点传送,那客户端就要因为安全原因而提供给目的地址。
(2)邀请媒体服务器参加会议。一个媒体服务器端能够被“邀请”参加一个存在的会议,可以回放媒体成为图像,或者记录图像中的媒体的全部或者一部分。
(3)在存在图像中增加媒体。尤其对于活动图像,如果服务器能告诉客户端,增加的媒体是有用的。
3.3 RTP/RTCP模块
RTP/RTCP模块是以客户端为主的应用传输模块。主要内容包括:RTP/RTCP协议栈的会话的建立,会话的传输,会话的控制和会话的终止。此模块位于TCP/IP层之上,使用UDP协议传输数据。当应用程序开始一个RTP会话时通常使用两个端口:一个给RTP,一个给RTCP。在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP的媒体数据载荷加载准则依赖于不同的媒体编码格式而不同,数据报文的格式按照RFC规定的实现,如图4所示。
同时应用程序可以通过此模块调整传输频率去和接受者的能力相匹配,或者以适应网络拥塞。通过参加多点传送组的适当的子集,接受者能适应不同的网络并控制他们的接受带宽。此外模块中所有的多媒体会话,都将视频和音频分别存放,这是为了保证在与某些不具有视频功能的终端通信或者在网络质量恶劣的情况下,可以只提供音频服务,而将视频服务关闭。
3.4 硬件媒体编解码模块
硬件媒体编解码器是基于MPEG-4实现的硬件Codec,采集的视频音频原始数据通过它压缩后形成mp4的数据格式,通过传输协议发往服务器;来自服务器的MP4视频音频数据通过Codec还原为原始数据,送往终端显示器,提供用户动态界面。当然画面可能因为压缩和传输的损伤有所下降,针对这样的情况,协议栈将提供纠错,补偿,同步功能来修复损伤,力图保持最完美的视频语音效果。
4、流媒体同步机制
流媒体数据和传统数据的一个主要不同是不同媒体流的集成,主要表现为同步方式。在3G视频点播系统中,流媒体传输的同步机制是一个非常关键的问题,同步机制设计的好坏直接涉及到了播放效果,而播放效果则是直接面向用户,是检验媒体播放质量的直接证据。
媒体同步定义是不同媒体流之间以及数据流内的基于时间的关系。目前有3层同步,分别是系统同步(流内同步)、媒体间同步(流间同步)和用户层同步(目标间同步)。
媒体数据的同步丢失是由于从服务器发往客户端的媒体数据报文因为不同的路由路径导致,而且所有媒体数据的存储转发都将产生延迟和抖动。延迟以及延迟的可变性将导致以上3种同步的丢失。因此,媒体间同步机制是必须的,以确保在客户端正确的播放媒体数据。
4.1 系统同步(流内同步)
系统同步(流内同步)是底层同步。
连续媒体或者时间相关的数据(比如,视频和音频)的媒体层同步是最底一层。媒体层的最小单位是逻辑数据单位(LDU),比如视频和音频帧,需要严格的按照时间顺序以确保用户可以精确的回放。系统同步缺失将导致播放暂停或跳跃。
4.2 媒体间同步(流间同步)
时间相关数据的流层同步是第二层。流层的最小单位是整个流。没有流间的同步将导致不同媒体数据的失调。
网络的带宽是完成流媒体传输的物质基础,在传输声音、图像、视频等多媒体信息流时,即使这些媒体流予以压缩,所需的带宽仍然比文字文件大,但并不是有足够的带宽就可以完全解决流媒体传输问题。一般而言,所需带宽的多少是与应用密切相关的,从应用角度来看,只要用户数不断增加、信息服务量不断增加,带宽有多少都是不够的。同步是媒体流的基本控制方法。流媒体是时间属性的表现,这依赖于RTSP协议栈。
4.3 用户层同步(目标间同步)
这是多媒体文献中规定的最高层 5、小结与展望
近年来,无线移动通信技术的发展日新月异,日趋成熟的第三代移动通信不仅能够提供现有的各种移动电话业务,还能提供高速率的宽带视频业务,支持高质量的话音、分组数据业务,以及实时的视频传输。3G技术融合了无线通信与互联网、视频等技术,由此产生的无线视频和无线IP业务也将成为未来无线移动通信业务新的增长点,而流媒体技术正是因为3G提供的可靠平台成为其应用之一,本文所介绍的视频点播系统就是流媒体协议栈基于无线移动通信技术的典型应用方案。而今,功能日渐增强的流媒体协议栈以其优势已经应用于各个领域,尤其在嵌入式领域与无线Web浏览技术相融合,并将一定程度上推动3G手机的发展
次的同步,是对象之间的同步,它集成了流和与时间无关的数据。对象间同步要求,如果某个以前定义的与时间相关的媒体目标到达客户端,那么在一个允许的时间间隔内,必须开始与之相对应的与时间无关的数据,同时停止与之不匹配的当前的与时间无关的数据。
用户层同步或交互同步,是最上层的同步,要求能反映和满足用户的交互性,容易为用户理解接受。用户层同步是交互性参与的同步,用户可以控制和使用信息,如反复调用感兴趣的内容、快速掠过不感兴趣的部分。虽然RTSP协议支持类似录像机的功能:播放、快进、暂停、停止,但流媒体的交互性同步能力主要体现在数据流编码过程中对交互性能的考虑。
.
分页: [1] [2]
- 上一篇:SIP-IP语音新协议
- 下一篇:apache下实现301永久性重定向的方法