随着云计算和物联网技术的兴起,特别是3G技术在中国的广泛应用,使得人们随时随地接入互联网,享受24小时在线服务成为可能。与此同时,为了
随着云计算和物联网技术的兴起,特别是3G技术在中国的广泛应用,使得人们随时随地接入互联网,享受24小时在线服务成为可能。与此同时,为了满足人们对更高质量视听体验的要求,多媒体信息处理技术正以前所未有的速度发展,各种数字文章技术已经应用到人们的日常生活中。随着社会经济建设的需要,大量功能各异的定制嵌入式设备出现,不仅方便了人们的生活,也为各种技术应用找到了新的领域。如今,各种通信设备,尤其是智能手机等嵌入式终端设备的不断出现,使得基于多媒体的应用得以实现,如可视电话通信、网络实时移动会议、终端文章监控等。
目前,基于TCP/IP的互联网文章点播已经成为一种流行趋势,无论是技术还是系统都日趋成熟,各种标准也在逐步建立。然而,在线文章仍然是在PC上观看,而对于屏幕小、网络连接不稳定、资源有限的移动设备来说,如何设计一个符合嵌入式特点的流媒体播放系统成为了在线文章播放能否在移动设备上成功的关键。在移动流媒体播放系统中,处理器和操作系统必须紧密配合,系统应具备文章硬编解码能力、网络文章传输和调度、自动控制流速率等强大功能。随着3G网络的进一步覆盖和网络质量的不断提升,基于3G网络的移动流媒体播放系统的应用前景非常广阔,正在成为行业新的利润增长点之一。
1手机流媒体的工作原理
Internet基于IP分组交换进行连续异步传输,每个分组到达目的主机后,按照分组顺序进行分组。但是对于在线的音文章文件,存储空间往往非常大,在网络中的传输需要分解成很多IP包。而且网络状态甚至网络拓扑都是动态变化的,每个数据包可能经过不同的路由,所以到达客户端的时延也是不同的。有时首先发送的数据包可能会晚一些到达。为此,必须使用缓存技术来弥补时间延迟和网络抖动的影响,并最大限度地保证数据包能够按照正确的顺序排列,使多媒体数据能够连续不断地输出,减少因暂时网络拥塞造成的播放暂停的影响。一般每个多媒体流所需的缓存容量并不巨大,缓存一般采用环形链表数据结构实现,所以不会出现溢出;通过丢弃无用的和已播放的片段,可以通过用尚未播放的后续内容覆盖先前的内容来回收缓存。
如图1所示,目前流行的移动流媒体播放流程一般如下:用户打开嵌入式流媒体播放软件选择一级媒体资源后,流媒体播放软件会通过3G网络连接互联网,使用HTTP协议与相应的流媒体服务器交换数据和控制信息,将实时的多媒体播放信息呈现给用户,供用户检索和播放;当用户选择播放多媒体文件时,流媒体播放软件通过HTTP链接从流媒体服务器获取多媒体文件的相关参数,并初始化播放终端。这些参数包括资源的位置信息、多媒体数据的编码类型以及流媒体服务器的相关参数。最后流媒体播放开始,然后流媒体播放终端会定期和流媒体服务器交换状态信息,以便更好的播放。
图1流媒体工作原理图
移动流媒体播放系统的设计
一个完整的流媒体播放系统分为两部分:1)提供流媒体服务的流媒体服务器;2)终端流媒体播放软件。对于流媒体服务器,只给出了它必须实现的关键技术,并给出了终端流媒体播放软件的总体架构和编程的具体技术。
2.1流媒体服务器的关键技术
本文设计的基于3G网络的流媒体服务运行在Windows Server2003操作系统上,提供的流媒体服务综合使用了多种流行的流媒体技术,主要包括以下六种:
1)DirectShow技术
基于DirectX技术的微软DirectShow是微软Windows平台上流媒体的主要开发工具。DirectShow可以支持多种格式,其中,文章有高级流格式(ASF)、运动图像专家组格式(MPEG)、音文章交叉格式(AVI),音频有MP3格式和WAV文件格式。DirectShow捆绑了各种DirectX技术,会自动检测并使用视音频硬件进行加速,也支持没有硬件加速的系统。如图2所示,DirectShow使用一种称为过滤图的模型来管理整个数据流处理过程。根据功能,滤镜可以分为三类:源滤镜,主要负责获取数据,数据源可以是文章文件,也可以是文章采集卡WDM、VFM驱动的图像采集设备;Transform Fihers,主要负责数据格式转换,如音文章数据流的分离/合成、解码/编码;渲染滤镜主要负责将最终数据传输到显卡和声卡进行多媒体播放,或者输出到多媒体文件进行最终存储。
图2 DirectShow的过滤图模型
2)MPEG-4编码技术
MPEG-4的全称是运动图像专家组,是一种基于对象的运动图像压缩编码标准。其核心算法是运动补偿预测和基于DCT的帧内变长编码,并采用了可伸缩的时空分级编码技术。用户可以在编码端根据网络情况动态选择和调整编码算法。为了使编码速率根据网络带宽状态而动态变化,MPEG-4标准非常适合于因特网上的多媒体传输,并支持从5 kbit/s到10 mbit/s的大范围比特率.现在,MPEG-4标准已经广泛应用于移动终端平台,并且已经成为3GPP制定的PSS规范中规定的多媒体编解码标准之一。
3)多速率编码技术
多速率编码技术是指将指定的多媒体数据解码成多个不同速率的独立数据流的技术。当传输多媒体流数据时,从具有不同传输速率的多个数据流中选择最接近但不大于网络传输带宽的数据流。通过对多媒体数据流的多速率处理和选择,可以在一定程度上适应网络环境的变化,消除3G网络带宽不稳定带来的不利因素。
4)RTP/RTCP网络传输控制技术
RTP是一种网络传输协议,旨在传输音频、文章等实时性要求高的数字多媒体数据。与通常要求数据传输高可靠性的网络传输层协议相比,RTP更注重数据传输的实时性。RTP协议提供的服务包括时间戳、数据向量和拥塞控制。RTP及其传输控制协议RTCP协同工作,控制数据的传输,及时检测和处理3G网络环境的变化。
5)Windows共享内存映射技术
不同线程模块之间数据的高效传输和同步是系统性能和可靠性的保证。因此,我们使用基于Windows的共享内存映射缓存数据文件,将多码率编码生成的多媒体数据放入流媒体模块的共享内存映射文件中,以保证多媒体数据交换的实时性和准确性。
2.2终端流媒体播放软件设计
如图3所示,整个流媒体播放器的软件架构分为四大模块:
图3终端流媒体播放软件架构图
1)用户界面层由Qt库实现,完全面向对象,界面易于扩展,各种功能以插件的形式完成;主要负责捕捉和处理界面上各种按钮的消息,完成播放器所有功能窗口的创建、销毁和管理,并在软件出现错误时向用户返回友好的错误提示。同时,在播放在线流媒体时,可以显示当前播放媒体的状态信息。
2)媒体适配层主要负责为GUI模块提供流媒体的API接口,与GUI交换媒体数据,并响应用户对GUI的操作,控制下层模块实际执行。
3)状态控制模块主要负责通过3G网络协议与互联网服务器进行交互,并接收相关媒体信息;通过RTSP协议与流媒体服务器交互,获取流媒体数据和控制信息;然后,根据3G移动设备的特点对其进行预处理。
4)核心模块主要负责音文章的分离,并调用移动设备的编解码芯片进行音文章的编解码,实现音文章的同步输出。
3结论
随着通信技术的快速发展,3G通信网络几乎覆盖了中国所有城市,人们对在线文章播放的兴趣越来越大。'随时在线,随时随地冲浪'3G时代的到来让这一切成为可能,也标志着互联网未来的发展方向。作为3G应用中的一个热门话题,移动流媒体技术将得到广泛的研究和推广,成为用户体验3G网络的一种流行手段。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们