3G视频点播系统中流媒体协议栈的解决方案_第1页
3G视频点播系统中流媒体协议栈的解决方案_第2页
3G视频点播系统中流媒体协议栈的解决方案_第3页
3G视频点播系统中流媒体协议栈的解决方案_第4页
3G视频点播系统中流媒体协议栈的解决方案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3G 视频点播系统中流媒体协议栈的解决方案 摘要 随着宽带互联网技术的普及和多媒体技术在互联网上的应用,视频点播已经不再局限于有线网络,扩展到了 3G 移动领域。本文首先介绍了一个 3G 视频点播系统,并在此平台上介绍了 3G 流媒体协议栈的概念、特点及其架构,然后针对该系统的整体框架详细论述了 3G 流媒体协议栈的模块实现,并讨论了各个功能模块的作用及相互之间的影响,最后详述了流媒体传输的关键环节 同步机制,从而在 3G 终端实现客户端 服务器式的流媒体数据的实时传输。 1、概述 1.1 3G 视频点播系统概述 视频点播技术即 VOD( VideoOnDemand),最初出现是缘于人们对广播电视的需求,但之前 VOD 一直局限于有线网络,从而无法给用户提供一个完全自主便捷的环境。在这样的情况下,无线移动视频点播业务的出现提供了一个可以和外界交流的平台。 3G 技术的成熟,更是为这项业务提供了一个可靠的实现基础,人们在任何时间,任何地点,只要通过一部 3G 手机,就可以像在家通过电视或电脑连接上有线网络一样的在整个网络环境中随意浏览任何自己感兴趣的节目,从而提供给人们一个交互式的主控权利,随机随时的获取网络资源。在 3G 视频点播系统 中,手机客户端接受来自基站服务器发送的媒体数据,经过一系列的处理呈现给用户播放的图像,服务器接收客户端返回的质量报告进行分析,并根据网络的实际状况给出合适的传输方式以及合适的图像编码格式,进行流量控制。客户端完全是被动的数据处理,媒体数据解码,视频和音频的同步。而服务器则承担了大部分的网络质量状况监测任务。这个方式有点类似于 HTTP 方式下的客户机 /服务器模式。而上述这种实时流媒体传输的运行架构则需要完善可靠的流媒体协议栈来支持。 本文即介绍一个 3G 视频点播系统(如图 1 所示)中流媒体协议栈的实现,该系统由 3 部分组成:服务器, Internet 和手持设备,针对该系统,本文 首先介绍了实时流媒体协议栈的概念、特点及其发展背景,然后在此基础上讨论了实时流媒体协议栈在此 3G 视频点播系统中的软件架构,最后详细论述各个模块的 设计及流媒体传输的关键环节 同步机制。 图 1 系统概述图 1.2 系统平台 系统工作的硬件平台、软件平台如下: 硬件平台: SH-mobilesolutionincludesa SH3-DSP core MCU, memory, IO, and LCD etc, Abase-band controller( AT91 RM9200 Base-Band board),一台服务器(即 PC 机)。 软件平台: SH-7300 实时操作系统( Norti4), MPEG-4audio/videoencoder/decodermiddleware,流媒体协议栈(如图 2 所示)。 图 2 系统软件平台 2、基于 3G 终端的流媒体协议栈的架构 2.1 流媒体协议栈及其特点 以 3G 协议栈为基础的实时流媒体协议栈( real-timestreamingmediaProtocols)具有强大的兼容性,能根据基站服务器通信准则建立最优播放效果,并根据网络状况,实时适应以改变通信策略和媒体播放效果。协议栈将可以保证以下业务: ( 1)进行视频通话,三方举行视频会议; ( 2)替代以电视为媒体的广告与节目播放,提供更具吸引力的多媒体点播等互动服务; ( 3)享受移动银行,股票信息,以及电子交易等各种信息服务。 实时流媒体协议栈可以设计为一个与系统无关的模块,以实现在目前 3 种 3G 标准 WCDMA、 cdma2000、 TD -SCDMA 之上无缝移植和嵌入。我们以协议为指导,根据无线移动网络的实际情况,做出合适的裁减和改变。流传输控制机制将根据 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 不同的是双方都可发送请求并都可以响应请求,是一个对等互动的协商协议。 在此视频点播系统中, 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),比如视频和音频帧,需要严格的按照时间顺序以确保用户可以精确的回放。系统同步缺失将导致播放暂停或跳跃。 4.2 媒体间同步(流间同步) 时间相关数据的流层同步是第二层。流层的最小单位是整个流。没有流间的同步将导致不同媒体数据的失调。 网络的带宽是完成流媒体传输的物质基础,在传输声音、图像、视频等多媒体信息流时,即 使这些媒体流予以压缩,所需的带宽仍然比文字文件大,但并不是有足够的带宽就可以完全解决流媒体传输问题。一般而言,所需带宽的多少是与应用密切相关的,从应用角度来看,只要用户数不断增加、信息服务量不断增加,带宽有多少都是不够的。同步是媒体流的基本控制方法。流媒体是时间属性的表现,这依赖于 RTSP协议栈。 4.3 用户层同步(目标间同步) 这是多媒体文献中规定的最高层次的同步,是对象之间的同步,它集成了流和与时间无关的数据。对象间同步要求,如果某个以前定义的与时间相关的媒体目标到达客户端,那么在一个允许的时 间间隔内,必须开始与之相对应的与时间无关的数据,同时停止与之不匹配的当前的与时间无关的数据。 用户层同步或交互同步,是最上层的同步,要求能反映和满足用户的交互性,容易为用户理解接受。用户层同步是交互性参与的同步,用户可以控制和使用信息,如反复调用感兴趣的内容、快速掠过不感兴趣的部分。虽然 RTSP 协议支持类似录像机的功能:播放、快进、暂停、停止,但流媒体的交互性同步能力主要体现在数据流编码过程中对交互性能的考虑。 5、小结与展望 近

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论