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


2.2 流媒体协议栈整体架构
基于3G终端的流媒体协议栈由RTSP协议栈,RTP/RTCP协议栈,TCP/IP协议栈组成 。
2.2.1 TCP/IP协议栈
TCP/IP协议栈是由3G的协议栈提供,负责对流媒体数据的传送 。TCP、UDP的协议都将使用到,并且根据不同的网络情况,分别使用 。TCP是用于可靠的连接,RTSP协议将尽量使用这个协议进行传输,UDP是无连接的协议,RTP/RTCP协议栈将通过这个协议传送数据 。当然这也不是绝对的,在必要的时候,RTSP可以使用UDP协议,比如防火墙的强制隔离,要求代理服务器转发,这时需要由协议栈来保障RTSP协议的可靠性,包括使用重发机制;RTP/RTCP也可以使用TCP连接,比如要求跨防火墙,建立直接连接的通道,这时可能牵涉到RTSP和RTP/RTCP协议的算法,需要由协议栈来提供 。
2.2.2 RTP/RTCP协议栈
RTP/RTCP协议是流媒体协议栈中要害的一部分,它承担了媒体数据的传送,由2个相互紧凑的协议组成,数据报文实时传输使用的RTP协议和QoS监视的RTCP协议 。协议设计者并不考虑RTP协议的纠错功能,而要求下层协议来保证,以提高媒体帧传输的数量,节省带宽,节省程序的开销,其传输机制专注于媒体本身的可靠性传输 。RTP直接面向媒体数据,是一种以带宽和网络质量为先决条件的传输协议,其传输方式是随着带宽和网络质量变化而动态调整的协议,其宗旨是以最大的可能性利用网络的负载能力,确保大容量的多媒体数据能及时的传输 。在这样的设计思想下,3G信道带宽不至于过度浪费,因此适合于手机终端的使用 。同时,RTCP协议作为传输控制协议,也是网络质量的监测者,它为互动的双方提供了统计意义上的报告,为双方提供网络实际的质量,也为流量控制,编码方式,提供了可靠的保证和参考 。作为独立于3G协议栈的应用层媒体协议栈,RTCP根据其机制,提供质量服务QoS,为网络运营商监视网络情况提供参数 。
2.2.3 RTSP协议栈
RTSP协议栈是流媒体协议栈中与界面和RTP/RTCP协议相关的控制协商操作 。RTSP提供响应界面操作的接口,直接响应界面发送的命令 。同时RTSP也提供互联的双方或多方的一个传输方式和编码方式的协商操作,在网络答应情况下,建立一条最佳传输通道 。以最匹配的情况传输数据,而无须每次传输都要求双方解析,节省了大量的时间,也减少了出错的可能性 。
RTSP和RTP/RTCP协议栈组成整个流媒体协议栈的核心部分,他们各自的控制机制是需要根据无线移动网络的实际情况和媒体编码格式统筹设计,在协议中是没有硬性规定的 。
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不同的是双方都可发送请求并都可以响应请求,是一个对等互动的协商协议 。

推荐阅读