3G视频点播系统中流媒体协议栈的解决方案( 三 )


在此视频点播系统中,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所示 。
点击查看大图
图4 RTP报文头格式
同时应用程序可以通过此模块调整传输频率去和接受者的能力相匹配,或者以适应网络拥塞 。通过参加多点传送组的适当的子集,接受者能适应不同的网络并控制他们的接受带宽 。此外模块中所有的多媒体会话,都将视频和音频分别存放,这是为了保证在与某些不具有视频功能的终端通信或者在网络质量恶劣的情况下,可以只提供音频服务,而将视频服务关闭 。
3.4 硬件媒体编解码模块
硬件媒体编解码器是基于MPEG-4实现的硬件Codec,采集的视频音频原始数据通过它压缩后形成mp4的数据格式,通过传输协议发往服务器;来自服务器的MP4视频音频数据通过Codec还原为原始数据,送往终端显示器,提供用户动态界面 。当然画面可能因为压缩和传输的损伤有所下降,针对这样的情况,协议栈将提供纠错,补偿,同步功能来修复损伤,力图保持最完美的视频语音效果 。
4、流媒体同步机制
流媒体数据和传统数据的一个主要不同是不同媒体流的集成,主要表现为同步方式 。在3G视频点播系统中,流媒体传输的同步机制是一个非常要害的问题,同步机制设计的好坏直接涉及到了播放效果,而播放效果则是直接面向用户,是检验媒体播放质量的直接证据 。
媒体同步定义是不同媒体流之间以及数据流内的基于时间的关系 。目前有3层同步,分别是系统同步(流内同步)、媒体间同步(流间同步)和用户层同步(目标间同步) 。
媒体数据的同步丢失是由于从服务器发往客户端的媒体数据报文因为不同的路由路径导致,而且所有媒体数据的存储转发都将产生延迟和抖动 。延迟以及延迟的可变性将导致以上3种同步的丢失 。因此,媒体间同步机制是必须的,以确保在客户端正确的播放媒体数据 。
4.1 系统同步(流内同步)
系统同步(流内同步)是底层同步 。
连续媒体或者时间相关的数据(比如,视频和音频)的媒体层同步是最底一层 。媒体层的最小单位是逻辑数据单位(LDU),比如视频和音频帧,需要严格的按照时间顺序以确保用户可以精确的回放 。系统同步缺失将导致播放暂停或跳跃 。

推荐阅读