兰西源码网

兰西源码网

当前位置: 服务器类

基于3G的流媒体服务技术研究

时间:2021-09-13来源:swan 作者:kaLhzea 点击:

摘要:基于研究当前3G环境下的流媒体服务技术的目的,采用了基于3G网络的移动流媒体系统架构;通过研究DirectShow、MPEG-4编码、多速率编码、RTP/RTCP以及Windows共享内存映射等技术,深入分析移动流媒体服务器的特点以及流媒体播放软件的架构,最终设计了移动流媒体播放系统,共分为两个部分:1)流媒体服务器;2)终端流媒体播放软件,经过试验,所设计的系统稳定性好、实时性强,具有较高的实用价值。

关键词:3G;移动设备;流媒体;RTP/RTCP

随着云计算、物联网技术的兴起,特别是3G技术开始在我国广泛应用,使人们随时随地接入互联网,享受24小时在线的服务成为可能。同时为了满足人们对于更高质量影音感受的要求,多媒体信息处理技术正在以前所未有的速度迅猛发展,各种数字视频技术已经被应用于大众的日常生活中。随着社会经济建设的需要,各种定制化、功能各异的嵌入式设备大量出现,不仅方便了人们的生活,也为各种技术应用找到了新的领域。现在,各种通信设备特别是智能手机等嵌入式终端设备的不断出现,使得基于多媒体的应用能够实现,如可视电话通信、网络实时手机会议、终端视频监控等。

目前,基于TCP/IP的互联网视频点播已经成为了流行趋势,无论是技术还是制度上都正趋于成熟,各项标准也正逐渐开始建立。但是网络视频还都是在PC上观看,而对于屏幕狭小、网络连接不稳、资源有限的移动设备来说,如何设计出符合嵌入式特点的流媒体播放系统成为了在线视频播放是否能够在移动设备上成功的关键。移动流媒体播放系统中,处理器和操作系统必须紧密配合,系统应该具备视频硬编解码能力、网络视频传输和调度、能够自动控制流速率等强大功能。随着3G网络的进一步覆盖,网络质量的不断提高,基于3G网络的移动流媒体播放系统应用前景非常广阔,正成为行业新的利润增长点之一。

1移动流媒体工作原理

互联网是IP分组交换为基础进行连续的异步传输,待各个分组到达目的主机后再根据分组序列进行组包,但对于在线音频、视频文件,往往其所在存储空间很大,在网络中传输需要被分解为很多IP包,又网络状态甚至网络拓扑都是动态变化的,每个包经过的路由可能不尽相同,所以到达客户端的时间延迟也不尽相同,有时候先发的数据包还有可能后到。由于这个原因,必须使用缓存技术来弥补时间延迟和网络抖动的影响,最大程度保证数据包可以按正确的顺序排列,从而使多媒体数据不间断地连续输出,减小因为网络暂时拥塞而使播放出现停顿的影响。一般,每个多媒体流所需的高速缓存容量并不庞大,再者高速缓存一般使用环形链表数据结构进行实现,不会出现溢出的情况;通过丢弃已经无用的、播放过的片段,将后续尚未播放的内容覆盖之前的内容就可以使高速缓存循环利用。

本文引用地址:

如图1所示,现在比较流行的移动流媒体播放过程一般如下:用户打开嵌入式流媒体播放软件选择某一流媒体资源后,此时流媒体播放软件会通过3G网络连入互联网,与对应的流媒体服务器之间使用HTTP协议交换数据以及控制信息,向用户呈现实时的多媒体播放信息,用户可以进行检索播放;当用户选中某一多媒体文件播放时,流媒体播放软件使用HTTP链接从流媒体服务器获取多媒体文件的相关参数,并对播放终端初始化。这些参数包括资源的位置信息、多媒体数据的编码类型、以及流媒体服务器的相关参数。最后,流媒体播放开始,此后流媒体播放终端会和流媒体服务器周期性地交换状态信息,以便更好地进行播放。

2移动流媒体播放系统设计

完整的流媒体播放系统分为两个部分:1)提供流媒体服务的流媒体服务器;2)终端流媒体播放软件。对于流媒体服务器,只给出其实现流媒体服务所必须实现的关键技术,而终端流媒体播放软件笔者给出了软件的整体架构以及进行编程实现的具体技术。

2.1流媒体服务器关键技术

文中所设计的基于3G网络的流媒体服务运行于WindowsServer2003操作系统上,提供的流媒体服务综合使用多种流行的流媒体技术,主要有如下6个:

1)DirectShow技术

微软DirectShow基于DirectX技术,是微软Windows平台上的流媒体主要开发工具。DirectShow可以支持多种格式,其中,视频有:高级流格式(ASF),活动图片专家组格式(MPEG),音频一视频交叉格式(AVI),音频有:MP3格式和WAV文件格式等。DirectShow捆绑了各种DirectX技术,会自动侦测和利用视频和音频硬件进行加速,同时也支持没有硬件加速的系统。如图2所示,DirectShow使用一种叫FilterGraph的模型来管理整个数据流的处理过程,按照功能Filter可以分为3类:SourceFilters,主要负责获取数据,其中数据源可以是视频文件,或者是视频采集卡WDM和VFM驱动的图像采集设备等;TransformFihers,主要负责数据的格式转换,例如音视频数据流的分离/合成,解码/编码等;RenderingFilters,主要负责将最终的数据传递给显卡以及声卡进行多媒体的播放,或者输出到多媒体文件进行最后的存储。


------分隔线----------------------------
栏目列表

推荐内容
热点内容