前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的流媒体播放器主题范文,仅供参考,欢迎阅读并收藏。
关键词:ARM;Qt;嵌入式Linux;流媒体播放器;Xvid
中图分类号:TP302.1 文献标识码: A文章编号:1009-3044(2010)10-2466-02
Design of Embedded Streaming Media Player Based on ARM and Qt
GUI Ling
(College of Computer Science & Technology, Wuhan University of Technology, Wuhan 430063, China)
Abstract: This paper is focused on the design of embedded streaming media player based on the MC9328MX21 of Freescale as the core processor. And the operating system is embedded Linux which source code is open. In addition, it selects the latest version of Xvid as the decoder and takes Qt development library to design the graphical user interface. With a real-time streaming transmission technology, the play, pause, stop and other functions of streaming media are implemented in this player. At the same time the player can remote control the streaming media server.
Key words: ARM; Qt; embedded Linux; streaming media player; Xvid
随着数字信息技术和网络技术的高速发展,人们的日常生活已经越来越离不开嵌入式系统。现今,开发功能齐全、可靠性高、操作简单的嵌入式流媒体播放器己经成为计算机、通信以及消费电子产业技术发展的主要方向之一[1]。
本文中的流媒体播放器采用嵌入式技术、MPEG-4图像编码技术以及实时流式传输技术,把从流媒体服务器接收的压缩码流,进行实时解码并同步播放,同时还能远程控制流媒体服务器,实现对流媒体的播放、暂停、停止等功能。另外,利用ARM集成技术还可以实现系统的小型化、 模块化,提高了系统的通用性和可扩展性。
1 系统的整体设计
嵌入式流媒体播放器的系统体系结构可以划分为以下三层:硬件层、内核层和应用层,如图1所示。
系统的软件部分主要分为内核层软件和应用层软件。内核层软件包含嵌入式操作系统以及硬件设备的驱动程序。其中,嵌入式操作系统采用嵌入式Linux系统,其构建过程包括:建立系统引导程序Bootloader、定制Linux的内核、创建根文件系统[2]。音视频解码器、通信协议栈和图形用户界面三个主要模块组成了应用层软件。通信协议栈的主要任务是:建立与流媒体服务器间的通信,接收流媒体码流并对码流进行相应处理;通过音视频解码器对音视频压缩码流进行实时解码;图形用户界面用来向用户提供交互式的操作界面,使用户能控制、播放解压缩后的音视频数据。
嵌入式微处理器和各种设备构成了系统的硬件部分。在该系统中,选择Freescale公司的MC9328MX21嵌入式微处理器,它是整个硬件系统的核心。系统的设备主要包括:LCD输出模块、网络通信模块、系统存储模块、音频输出模块和USB主控模块等,系统硬件部分的构成如图2所示。
2 软件的设计与实现
2.1 构建嵌入式系统
嵌入式系统由于硬件资源非常有限,因此不能直接使用Linux作为其操作系统,而应该针对具体的应用,通过裁减shell 和嵌入式C库、重新配置内核等手段定制系统,使整个系统能够更高效的运行并存放到容量较小的 Flash 中。所有Linux系统的核心组件都是内核,其性能在很大程度上决定了整个系统的性能。本系统采用了定制的ARM-Linux内核,版本为2.6.13,它启用了MMU(内存管理单元),是针对支持 MMU的处理器设计的。另外,在保证内核基本组件的基础上,添加了TCP/ IP协议、文件系统等组件的支持,定制出最小适用内核。
随机存储器 RAM(DRAM,SDRAM)和只读存储器ROM(常采用FLASH存储器)是嵌入式系统的主要存储设备。以存储设备为基础的嵌入式文件系统主要有YAFFS[3](Yet Another Flash File System)、JFFS(Journaling Flash File System,日志闪速文件系统)、 JFFS2、ROMFS(只读小文件系统)、CRAMFS(用于MTD设备的数据压缩文件系统)、RAMFS/TMPFS等。本系统的硬件平台是以NAND Flash为存储芯片并选择NAND Flash的YAFFS作为文件系统。
要使Linux系统能正常工作,根文件系统是其运行所必需的文件及应用程序的集合。本文的根文件系统主要包括:基于busybox的 shell、支持应用程序的最基本库文件、GUI程序及gcc应用程序等。
图形用户界面使用面向对象体系结构的Qt/Embedded来实现,使代码结构化、可重用。
2.2 MPEG-4视频解码器的实现
MPEG-4视频解码就是对按照MPEG-4编码的压缩码流进行反变换获得图像的YUV值,这是一个视频恢复的过程,它的流程如图3所示。在嵌入式系统的应用中,MPEG-4视频解码器的实现一般有硬件实现和软件实现两种方法。为降低成本,本系统以Xvid编解码器模型为基础,采用软件方法实现MPEG-4视频解码器。
Xvid是一个开放源代码的、以GNU GPL协议[4]为基础,基于OpenDivX编写的MPEG -4多媒体编解码器,它是目前世界上最快的MPEG编解码器。在ARM-Linux系统平台下,Xvid视频解码器的嵌入式移植过程主要有七个步骤:
1)从Xvid的官方网站上免费下载其源代码,为解码器移植做准备。Xvid的源码可以从其官方网站上免费下载,本文下载的版本为1.2.2。解码器的移植采用宿主机/目标板的开发模式,宿主机为PC机+Ubuntu 9.04,交叉编译器的版本为arm-linux-gcc-4.3.2。
2)删除多余代码。由于我们的目标平台是ARM,因此可以将关于PPC、X86的代码删除。另外,有部分代码是与编码相关的,解码不需要,故也可以删除。
3)运行配置脚本,生成Makefile。进入xvidcore-1.2.2/xvidcore/build/generic目录,执行以下命令:#./configure Cdisable Cassembly。
4)将Makefile的C语言编译器修改为arm-linux-gcc交叉编译器。将platform.inc文件里的CC=gcc修改为CC=arm-linux-gcc。
5)执行make命令,生成Xvid类库文件。
6)将上一步生成的类库文件拷贝至交叉编译器的默认库搜索路径。对于本系统交叉编译器的默认库搜索路径为/usr/local/arm/4.3.2/arm-linux-gcc/lib。
7)调用Xvid解码器提供的接口函数编写应用程序,交叉编译应用程序,将生成的可行文件拷贝至目标板调试执行。
经过以上步骤,即完成了对Xvid视频解码器的移植并实现了MPEG-4视频解码器。相对于以前的版本,Xvid 1.2.2最主要的改进是增强了RGB与YUV之间相互转换的精度。
2.3 GUI程序的设计
播放器的图形界面在Qtopia视窗环境下运行,采用版本为3.3.6的Qt/embedded作为底层图形库。Qt是一个跨平台的C++图形用户界面应用程序框架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,Qt/Embedded是面向嵌入式系统的版本。信号和槽机制是Qt的核心机制,Qt的窗口部件中有多个预定义的信号,我们也可以通过继承来加入自己的信号,槽是一个可以被调用处理特定信号的函数,当一个特定事件发生的时候,一个信号被发射,对应的槽就会调用相应的函数[5]。
图形界面主要包括主界面窗口、文件操作窗口、播放列表窗口。界面窗口有一个显示屏和一些控制按钮,包括播放、暂停、快进、快退、音量调整及播放进度条和播放时间显示。文件窗口可以让用户选择要播放的多媒体文件。播放列表用来显示最近播放的多媒体文件。
3 MPEG-4视频流的实时传输
MPEG-4系统层模型自上而下包括压缩层、同步层和传输层。由于复杂度较高,本文没有采用在传输层中制定的传输多媒体框架DMIF(Delivery Multimedia Integration Framework)标准,而是利用RTSP、RTP和RTCP来实现MPEG-4视频流的实时传输。其中RTSP是用来控制MPEG-4视频数据传输的,RTP是用来实际传输MPEG-4视频数据的,RTCP是用来实现拥塞控制和流量控制服务的。各个协议之间的关系如图4所示。
MPEG-4视频流实时传输系统是以RTP/RTCP/RTSP协议为基础的,图5是其总体框架。单个的MPEG-4视频数据流在传输时,用户需要打开3个与服务器进行交互的网络端口,即RTP视频流接收端口、RTCP控制信息交互端口以及RTSP控制信息交互端口。
4 结束语
本文以嵌入式技术、Qt、流媒体技术为基础,研究并初步设计了一种基于嵌入式系统平台的流媒体播放器。该方案的优点在于视频流的实时传输方法较之MPEG-4制定的标准,更加简单易行,容易实现,并采用了最新版本的Xvid,增强了RGB与YUV之间相互转换的精度。但该方案还有很多地方有待改进,在后续开发中,可以从以下几个方面展开工作:完善嵌入式图形用户界面、优化Xvid视频解码器在ARM上的运行效率、扩展解码器功能以支持更多的多媒体格式。
参考文献:
[1] 钟玉琢,向哲,沈洪.流媒体和视频服务器[M].北京:清华大学出版社,2003.
随着数码相机、智能手机以及各种Pad平板电脑的大行其道,越来越多的人开始习惯于随手拍照或是随手录像;再加上价格不断下降的各种数字音乐、数字影片,越来越多的人手中开始积累大量的数字媒体文件。通常情况下,这些文件绝大多数都是存放在电脑中,或是存放于某些大容量移动存储设备上――不幸的是,随着时间的流逝,某些文件可能会损坏而变得不再可用。听着自己喜爱的音乐,翻看一下以前的照片,或是放上几段视频,的确是件令人很惬意的事情――但要欣赏这些,其实并不一定非要坐在电脑前。
其实,在不同设备以及平台之间,共享数字媒体是件很简单的事情。其简单之程度,可能会让你感到吃惊。Windows 7内置了媒体播放器以及相应的工具,并提供DLNA/UPnP支持,可以和兼容设备非常容易的共享数字媒体库。而对想通过网络(或者网页)来访问这些媒体文件的人来说,也只需极少的几步配置即可。
当然,有几个先决条件你必须达到;此外,对于Windows媒体播放器的不同分享选项,你也应该有相应程度的熟悉。首先,存有媒体文件库的电脑必须已连到局域网网上(这样才能在内部网共享),或是连到Internet上(如果是打算通过互联网共享文件的话)。你必须根据要求,在Windows媒体播放器中启用了相应的一些设定。如果连到互联网的主机是位于某个路由器或者防火墙之后,则还需在电脑上打开几个相应的端口,以便外部连接的访问请求能够顺利通过。
起步
在Windows 7电脑上共享数字媒体的第一步,是在Windows媒体播放器中建立并管理数字媒体库。如果你已将相应的文件都放到了“我的音乐”、“我的照片”,以及“我的视频”等文件夹中,则WMP应该会自动发现它们。如果将这些文件放到了另一个磁盘驱动器上,或者是放到了某个网络存储设备上的话,则需要自己手动将这些文件导入Windows媒体播放器中。具体做法是打开WMP(Windows媒体播放器),切换到“媒体库”。然后点击下拉菜单“组织”中的“管理媒体库”,再根据需要选择“音乐”、“视频”或“图片”。然后会出现一个“视频库位置”的窗口,你可以在这个窗口中点击“添加”按钮,然后找到要加入文件的具体文件夹位置即可。
当然了,还有一条是不言而喻的,那就是开始共享之前,这台装有数字媒体的电脑必须已开机且连到网上了。如果想通过互联网和另一台电脑进行共享的话,你还必须先连入Internet。达到了上述这些必备条件之后,就可以开启“共享”了。打开媒体播放器(切换到媒体库页面,如果需要的话),点击上部“媒体流”下拉菜单中的“自动允许设备播放我的媒体”。启用这个选项,将把你的电脑转化成一台兼容DLNA的数字媒体服务器(DLNA,数字化实时网络设备)。而那些能访问这些文件的远程系统或设备,将作为数字媒体播放器出现。一个网络之中,可以同时存在多台数字媒体服务器;那些作为数字媒体播放器出现的电脑或设备(遵守DLNA设备类定义),也可以成为数字媒体服务器主机。
下一步,再次点击“媒体流”下拉菜单,选择“更多流选项”。在这个页面中,你可以对媒体库进行命名。同时,该屏幕上也会显示一个网络中可以访问该库的设备列表。如果你想允许或者禁止某个列表中的设备访问你的媒体库,可以在此进行设置。
这样,你就已经准备好开始通过网络与另一台设备共享媒体流了。如果你想更进一步,通过网页与人共享的话,你还要打开另一个选项。在媒体播放器中的“媒体流”下拉菜单中,选中“允许网络访问家庭媒体”。然后程序会弹出一个窗口,提示你允许互联网连接,以便“链接联机ID”(比如某个Windows Live账号)到媒体库上;务必注意根据屏幕上的提示,妥善完成上述步骤。当账号链接成功后,你就可以使用该账号链接到其他电脑上,并通过网页来访问该媒体库。
不过,想通过网页远程访问电脑的话,一般都会需要对路由器或者防火墙进行一些调整。以前我们就已经解释过如何打开某些特定的端口,但这里你需要确切的知道应当打开哪些端口,以便网络共享能够正常工作。要想找出这些端口,首先在媒体播放器中的“媒体流”下拉菜单中,点击“允许网络访问家庭媒体”,然后在子窗口中,点击“测试连接”。互联网媒体流检测工具将打开并运行一些快速测试。在窗口底部,点击“转发端口信息”连接,可以看到一个需要转发的端口列表。将这些端口转发给相应的主机(或相关DMS设备)的IP地址,你就算万事俱备了。
下面,我会告诉你如何与其他设备共享媒体流。
局域网电脑共享
对于在同一网络上,或是在同一家庭组中的电脑来说,访问共享系统中的数字媒体库是十分简单的。如果你已经按照上文设定了允许设备自动播放媒体,共享的媒体库将会显示在Windows媒体播放器的主界面中。
如果你的电脑正确连入网络,并且你的主机已经开机可以正常使用的话,打开Windows媒体播放器,给它一点时间,让它扫描一遍整个网络。在它左侧的库面板上,库列表底部位置,应当可以看到在其他媒体库的下面,是主机共享的媒体库。点击该库,就可以使用该库中的音乐,视频,图片,录制的电视节目,以及播放列表了。
互联网电脑共享
至于通过网页访问数字媒体库的过程,在微软手里也变得十分简单。首先,确保你已经按照我上文所述进行了正确的设定。此时,你应该可以在媒体播放器的“媒体流”下拉菜单中,看到“允许网络访问家庭媒体”被勾选了;同时,你应当也为该媒体库链接了一个联机ID。
基本上,你需要在远程电脑上同样执行一遍那些必要的步骤。在远程电脑上,打开Windows媒体播放器,然后选中“允许网络访问家庭媒体”选项。然后会出现一个新窗口,标有“网络访问家庭媒体”。点击“链接在线ID”按钮,然后将该电脑链接到你用于设定主机系统(DMS)的同一联机ID上。当该电脑开机并联入互联网后,(如果有必要,事先应在路由器中设定好需转发的相应端口),它的媒体库应当会显示在其他库的类别下面,就好像这些电脑被连入同一局域网时所表现的那样。
游戏终端共享流媒体
至于和游戏终端(比如Xbox 360或者PS 3)共享数字媒体,则更是异乎寻常的简单。只需将该游戏设备连入该电脑(或数字媒体服务器)所在的网络即可。无论是Xbox 360还是PS 3,访问Win7电脑上的数字媒体,就像打开游戏终端电源,然后播放终端内的照片、视频或者音乐一样简单。如果数字媒体服务器和游戏终端是位于同一网络上的话,服务器上的数字媒体库应当会被列出来,用终端直接播放库中的文件即可。
使用Xbox 360访问Win7电脑相当快捷简单,需要做的无非是事先在媒体播放器中启用媒体流而已。不过,如果在Windows中事先关闭了“文件与打印机共享”服务的话,用户使用PS 3游戏终端访问Win7电脑时将会遇到问题。解决方法是将Win7的“文件与打印机共享”服务重新开启――具体做法是点击“开始”按钮,在“搜索程序和文件”框中,输入“管理高级共享设置”,然后按下回车键。在弹出的控制面板窗口中,确保“启用文件和打印机共享”被选中,而“媒体流”选项显示为“媒体流已打开”。
如果觉得上述操作搞不定的话,PS3的用户们还可以尝试另外一招,那就是在电脑中运行一个第三方的DLNA/UPnP媒体服务器软件,比如Ps3mediaServer。
DLNA电视或机顶盒共享
如今为数众多的HDTV和机顶盒设备(比如蓝光播放器)都是具备联网功能的“智能设备”,内置有数字媒体播放工具,支持DLNA。如果将这些设备连入Win7电脑所在的网络(Win7电脑已事先正确开启了媒体流设置以及其他相应的共享选项),它们能像其他设备一样,快速便捷的访问Win7电脑中的媒体文件。
我们分别使用了一台三星HDTV,以及一台三星蓝光播放器来访问电脑。虽然因为两台设备的界面极其类似,所以导致了测试过程中的表现看起来也几乎完全相同,但实际上却是来自于完全不同的设备制造商。这一点表明,凡是兼容DLNA的类似设备,大概这些相同的步骤都是必不可少的。
首先,我们打开了三星蓝光播放器的电源(但没有插入碟片),于是我们直接看到了播放器的主界面,可进行相关设定或运行相关应用。我们确认该播放器已连入网络(本例中我们是使用了无线网),并在网络设定菜单中,确认该播放器已获得IP地址。然后我们进入设备菜单,开始扫描整个网络,寻找DLNA数字媒体服务器。找到之后就很简单了,直接在设备菜单中选中该电脑(或数字媒体服务器),然后打开要观赏的音乐、视频或图片文件夹,播放相应的文件即可。
安卓智能手机(平板电脑)共享
需要说明的是,虽然文章中所提到的只是基于安卓系统的设备,但实际上为数众多的苹果系统(iOS)应用程序,也提供了类似的功能。此外,基于Windows系统的智能手机或设备,也有不少类似的功能(或是直接内置,或是可以借助第三方应用程序实现)。只要事先正确设置好主机,绝大部分应用程序的工作表现都很雷同,使用方式也是相当的简单易用。
手机客户端软件是指安装在手机上的软件,用户可以通过启动该软件访问网络、聊天、收看视频等。前不久,中国移动的飞信免费推出;而就在6月,最大的手机上网门户3G门户(),也开始大张旗鼓地在全国路演,通过林一峰@3G门户中国唱游活动推广3G门户最新流媒体客户端GGLive。
手机这块方寸之地的客户端争夺大战已全面展开?
手机客户端――无线互联网领
域的核心竞争力
类似Outlook(邮件客户端)、IM(即时通讯)、流媒体播放器等传统PC上的客户端,手机客户端是指用户下载在手机上的一些软件,通过这些操作简便、界面友好的软件,用户可以快捷、方便地用手机看电视、看电影,有了这些软件,WAP站就像把根扎在了用户的手机上,比起“书签”更加有价值。
对于小小的手机来讲,手机客户端争夺战的激烈程度似乎比电脑更高,因为手机可容纳的软件少,操作难度高。
业内人士分析,手机客户端既能吸引大量用户,同时,也为免费WAP网站拓展新的业务增长点和盈利模式奠定了良好基础。
纵观传统互联网行业历史,1996年第一批电脑上网的人都会记得那只小企鹅,随后,这只企鹅也伴随了他们十来年。互联网上网民一代接一代,而桌面的小企鹅也从简单的通讯工具上更衍生出了游戏、新闻、社区、甚至娱乐门户。
而在手机平台上第一个占据手机桌面,并且将伴随一代又一代手机网民成长的客户端将会是什么?
3G门户G家族全面登场
2006年5月,3G门户推出第一版手机音乐软件GGMusic,支持手机音乐在线试听与免费下载。
2006年6月,3G门户又推出第一版手机流媒体播放器GGTV,主要用于支持手机电视直播、手机电影、网络视频等点播。GGTV在当时的网络状态下是技术领先性最高、画质与流畅程度最有保障的播放器,免费提供给手机网民下载,受到用户的关注和青睐。截至2007年3月,GGTV直接注册用户已达到300万,每天独立活跃用户超过50万。
邓裕强分析说:“从3G门户去年推出的GGTV来看,用户每天使用视频点播服务的时间要远远超过电视直播服务,是其10倍以上。原因就在于点播类业务更具可控性和互动性,而电视直播类服务更多的是满足用户对突发及实时性要求(比如体育比赛直播)较高的内容需求。”
2007年4月,3G门户宣布推出全新流媒体播放器GGLive,则是针对以上问题的解决方案。手机网民通过登录免费下载该软件后,除了点播节目,还可以随时随地收看各类直播,如NBA、娱乐明星访谈、演唱会现场等等。并且同时跳转WAP页面进行即时投票、抽奖,增强互动。此外,GGLive还整合了3G门户GGRadio的全部功能,支持在线收听多个电台节目。
与此同时,改进后的GGMusic2.0也推出,进一步优化了用户界面,并新增了推荐音乐专辑等功能。以GGLive为核心的客户端系列G家族终于全面登场。
“GGLive将逐步取代GGTV。在这个新的播放器上,我们将更注重用户的新需求,用最领先的手机流媒体技术引领用户进入真正的手机互动娱乐时代。”3G门户CEO邓裕强表示。
流媒体技术作为一种新的网络媒体传输方式,突破了网络带宽限制,实现了动态音视频资源的数字化、网络化存储、传输和管理,使高校现有校园网络环境下教学信息资源的应用价值和利用率得到了极大提高。当前主流流媒体系统平台主要有Microsoft Windows Media系统、Real system系统、Apple QuickTime系统以及Abobe Flash Media系统。Microsoft系统支持的网络协议有HTTP/MMS/WMS,流媒体格式为ASF/WMA/WMV等,其优点主要有通用性好、集成度高、系统资源占用率低等,缺点是支持网络协议较少、平台兼容性较差;Real系统则主要支持自己特有的RTSP协议,主要流媒体格式为特有的RM/RA/ RMVB等,其优点主要在于扩展性较强、支持多速率传输,缺点是系统价格较贵、后期费用较高、平台通用性较差;Apple系统通常以MOV/QT,其优点在于系统相对安全、稳定性好,缺点是用户规模以及数量太小、移植性较差;Adobe系统是近几年刚兴起的流媒体系统,只要支持RTMP网络协议,格式通常为SWF/FLV格式,其优点主要有文件简单,体积小;清晰度高、加载速度快、版权保护有效等,缺点是安全稳定性较差、较易受攻击;系统资源耗费较大。
总体来说,四大主流媒体技术出于保密以及商业竞争的需要,各家技术都具有一定排他性。而开源技术则可以较好地解决这一问题,可以使视频流媒体系统方案的制订更加先进,更加完善,同时也更加的开放。
二、视频流媒体平台总体架构
VLC系统是近年来由VideoLan项目开发的流媒体系统。作为第三方开源软件,目前的VLC既是一个能够支持大量媒体文件格式和档案格式的跨平台多媒体播放器,同时也可以作为高性能的支持单播/组播、IPv4/IPv6的视频流媒体服务器来使用。[2]其优点是功能强大、简单易用,兼容平台多,对多种流媒体传输协议能够很好兼容。VLC还能够支持各种格式的视频文件、网络串流、加密VCD/DVD、数字摄像机、数字卫星频道以及数字地球电视频道等多种信号源;能够实时捕捉视频并实现在多种编码和码率间的压缩与转换;可以在企业级或高校级局域网里实现低成本的视频点播或直播。通常一个完整的网络教学视频系统由流媒体服务器、WEB服务器/数据库服务器、视频编码/存储服务器、网络客户端组成。
三、系统设计思路及过程
1.系统设计思路
本系统以Window Server 2008操作系统为开发平台,以SQL Server 2008为WEB应用程序和数据库服务器,采用脚本语言对视频流媒体平台动态网站进行开发,然后通过开源VLC流媒体服务器和开源软件Putty的配合使用实现相关教学视频资源的网络形式。本文着重介绍该网络教学视频流媒体资源平台的具体实施方案。
2.视频流媒体服务器及客户端配置
(1)VLC流媒体服务器配置
配合优秀的开源远程登陆工具Putty,VLC可以作为高性能的局域网流媒体服务器,实现IPv4/IPv6网络环境下的点播、组播功能,具体操作步骤如下:①为VLC增加Telnet远程服务功能:②以IP地址为192.168.1.103为例,监控端口号为4212的流媒体服务器为例进行配置,通过Putty开源软件服务器进行远程登录控制;③ 点击打开,在Password:后输入默认密码“admin”。如果远程登录成功,Putty界面会显示:Welcome,Master欢迎界面,然后,开始对VLC流媒体服务器进行配置;④利用VLC提供点播服务的命令。其中,new为新建命令,vod*为点播文件标识名,demo.*为点播文件的文件名。通常,该文件应放置在VLC Media Player安装路径下;如果文件不在该路径下,可以使用绝对路径。例如:setup vod1 input d:\media\demo.mpg如果要设置多个点播文件,可以重复上述的操作。⑤利用VLC提供组播服务的命令。其中,new为新建命令,group为组播名,demo为要经组播发送的流视频文件。#duplicate{dst=rtp{dst=multicast,mux=ts,port=*}}表示将遵循rtp协议的以ts流进行封装的流视频发送到特定组播IP地址(multicast)的特定端口。通常,组播IP地址多为D类IP地址,即224.0.0.0-239.255.255.255之间的IP地址,端口一般为1234。另外,control group后面还可以加stop,pause,seek+%,分别表示停止,暂停和跳转到百分之几的位置。与提供点播服务一样,通常需要发送的流视频文件应放置在VLC Media Player安装路径下;如果文件不在该路径下,可以使用绝对路径。
(2)网络客户端配置
在服务器上建立好新的流媒体输出后,网络客户端用户既可以通过独立的VLC、Windows Media Player等通用媒体播放器来接收,并实现播放、控制(开始、暂停、停止、快进)等,也可以通过ActiveX控件的方式在Web页面中嵌入播放器代码,通过通用浏览器进行收看。①独立客户端设置,VLC Media Player作为客户端播放器时,设置接收流媒体视频服务。另外,如果学习者需要对教学视频资源进行实时录制,可以在VLC串流输出选项中进行设置。②基于浏览器的WEB嵌入式实现。该方式主要是通过ActiveX控件的方式在Web页面中嵌入相应播放器代码实现的,其中播放器源代码是实现视频流媒体接收的关键。
【参考文献】
[1]夏亚. 基于ASF的视频型网络教学设计与实现. 计算机与现代化,2009(3).
英最高法院驳回烟草公司对平装法的上诉
近日,英国最高法院对英国烟草平装法案件作出最终判决,该判决驳回了烟草公司的上诉。在法院驳回烟草公司对新立法提出的异议之后,从下个月起,在英国出售的所有烟草必须采用标准包装。四家烟草公司――菲利普莫里斯国际公司(PMI)、英美烟草集团(BAT)、帝国烟草公司(Imperial Tobacco)和日本烟草国际公司(JTI)最初对实施烟草产品第2014/40/EU号指令的新平装立法提出了异议。2016年5月,英国高等法院驳回烟草公司提出的异议。同年11月,英国上诉法院维持原判。日前,最高法院驳回烟草公司提起的上诉。根据新的立法,自2017年5月21日起,所有的烟草包装必须是橄榄绿色,而且健康警示图片须占前后包装面积的65%。
英国网络盗版者将要面临最高可达10年的刑期
新《数字经济法(Digital Economy Bill)》将把该类型犯罪的刑期从原先的2-8年升至10年。网络盗版者在英国将可能要为网络侵权行为付出最高刑期可达10年的代价。获悉,这一新法已被提升到法律级别,然而许多互联网用户对此持反对意见。《数字经济法》的诞生主要是为了“协调”受1988年《版权、设计与专利法(Copyright, Designs and Patents Act)》保o的网络版权侵权制裁问题。将为企业提供更大力度的保护,并由此向犯罪分子传达出更加明确的信息。过去,英国政府不会对网络侵权个人采取过于严厉的惩罚,但新法却不再有这样的区别对待,按照这一法律规定,任何在网络上侵权了版权的个人都将可能面临犯罪的危险。至于法院最终会作出怎样的裁决则仍有待观察。
MP3音乐格式相关专利授权被终止
5月13日,自上世纪90年代以来革新了用户收听音乐方式的播放格式MP3,如今已经正式退出了历史舞台。发明这种音乐播放格式的德国研究机构――夫琅和费集成电路研究所(Fraunhofer Institute for Integrated Circuits)近日宣布,该机构已经终止了某些MP3相关专利的授权,从另一方面来看,这就意味着该机构不想再对这种格式继续提供支持,因为2017年已有诸多更好的音乐存储和播放方式出现,因而MP3该寿终正寝了。夫琅和费集成电路研究所的主任表示,高级音频编码(AAC)格式业已成为“手机下载音乐和视频等内容的实际标准”。这种格式的效率比MP3的更高,而且功能也更加强大,在传输流电视和音频广播等内容时,使用这种格式将能够发送高质量的音频内容,而且位速率比MP3低得多。
欧盟年底前将立法约束苹果谷歌
近日,欧盟委员会正计划推新法来约束像苹果和谷歌等科技巨头的不正当竞争行为。欧盟委员会表示将在今年年底前拿出新法案来解决平台和公司间不公平的条款和贸易惯例。此前,就有提案要求欧盟解除在线服务上的条条框框,给欧洲公司机会,以便它们能与美国科技巨头如谷歌、苹果和Facebook等竞争。之前,Spotify、Rocket Internet和Deezer等欧洲科技公司曾向欧盟抱怨称其他在线平台,如搜索引擎和应用商店正在滥用它们作为用户入口的地位来推动自家服务的发展,同时它们还借助这一优势设定了许多不平等条款。欧盟委员会想建立一套公平的实践标准,提升市场透明度并解决公司间的纷争。
欧洲法院收紧“流媒体”
近日,欧洲法院作出一项判决显示“销售可以在网络上非法查看以及在电视上免费观看电影的多媒体播放器属于版权侵权行为。”代表版权所有人的一家名为Stichting Brein的基金会在荷兰一地区法院了荷兰企业家杰克・弗拉迪克・伍勒姆(Jack Frederik Wullems),该地区法院将该案件移交至卢森堡法院。伍勒姆销售了能够让用户轻松从电视机调到网络流媒体平台的多媒体播放器,并对能够获取受版权保护的资料的“Filmspeler”进行了宣传。法官在判决中称,“毫无疑问的是,多媒体播放器目的在于盈利,购买多媒体播放器主要是为了直接获取流媒体网站上的受版权保护的作品,但这并未经过版权所有人的同意。”法官们因此依据《欧盟版权指令》第3条(1)款的规定而支持地区法院的解释――伍勒姆未经版权所有人同意而销售多媒体播放器的行为构成“向公共传播”。
关键词:J2ME;MMAPI;视频技术;播放器
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)07-1556-03
1 概述
随着移动媒体技术的发展,J2ME在手机、PDA等移动设备上的到了广泛的应用,目前已成为手机开发的主流平台之一,该文首先介绍了J2ME层次结构,MMAPI框架。然后对视频播放器的功能要求做了分析,搭建开发平台,设计了并实现了一款基于J2ME的移动媒体播放器。
2 技术分析
2.1 J2ME体系框架概述
J2ME平台有一系列技术规范组成。J2ME主要由配置(configuration)、简表(profile)和可选包(层)三部分组成。J2ME体系框架结构如图1所示。
2.2 MMAPI框架分析
移动媒体API(Mobile Media API,MMAPI)是JSR135定义的可选包,处于J2ME体系框架的可选包层。提供了一个功能强大,使用简单的多媒体框架。开发人员可以使用这个多媒体框架在移动设备上处理音频和视频数据。MMAPI框架有一个管理器、一个数据源、一个播放器和若干个控制器组成,其中播放器是MMAPI的核心。他们之间的关系如图2所示。
现对MMAPI框架中的各个组件说明如下:(1)数据源(DataSource):数据源由抽象类javax.microedition.media.protocol.DataSource描述,负责把多媒体数据从原始位置传输到播放器。多媒体数据可以存储在各种不同的位置。如文件、远程服务器或者记录管理系统等。根据多媒体数据的存储位置,数据源采用不同的传输协议。(2)播放器(player):播放器是MMAPI框架的核心,负责和解码数据源提供的多媒体数据,并把解析后的数据发送到输出设备的缓冲区中。Java.microediton.media.Player接口定义了管理器播放器生命周期、控制媒体重放和同步的方法。(3)控制器(Control):控制器负责改变播放器的行为。如声音控制器可以调整音频播发器的声音大小。(4)管理器(Manager):管理器又javax.microedition.media.Manager类实现,负责创建播放器和数据源。它提供了创建播放器的静态方法createPlayer。
2.3 使用MMAPI
视频播放的基本流程是:首先通过一定的网络协议或本地的位置获取传递来的流数据,然后将这些流数据传输给DataSource类进行处理,DataSource类将读取视频流和音频流数据并将它们提供给Player类,最后由Player类解析和解码数据以及识别媒体数据类型和传送媒体数据到相应的输出设备缓冲中,Player通过同步机制使用音频和视频设备实现视频和音频的播放。
播放器在其生命周期中有5种状态,图3描述了播放器的生命周期。播放器被创建成功,此时播放器处于unrealized状态。调用realized()方法初始化数据传输,当从该方法返回时,播放器处于realized状态。然后调用prefetch()方法获取音频设备、视频设备等专用资源,直到成功获取这些资源,播放器进入prefetched状态。此时播放器就可以调用start()方法开始播放媒体数据,播放器进入started状态。而在任何一种状态下,都可以调用close( )方法使播放器处于closed状态。如果播放器unrealized状态直接调用start()方法,系统将自动调用中间的realized()方法和prefetch()方法。
3 实例应用
3.1 设计要求
设计一款视频播放器能够播放MPEG格式的视频文件。具体要求如下:(1)当用户选择“打开视频文件”选项时,在屏幕上显示一个文件对话框。在文件对话框中列出了当前目录下所有的子目录和MPEG格式的视频文件。用户可以选择打开一个视频文件,也可以选择进入目录或者上一级目录。文件对话框第一次显示时,将列出移动设备中所有文件系统的根目录。(2)当用户打开一个视频文件时,将启动播放器,在屏幕上播放选择的视频文件。在播放视频的过程中,用户可以通过屏幕上的命令暂时播放和继续播放视频。用户还可以通过按下方向键改变音。(3)用户尅停止播放视频,返回播放器的主菜单,再次打开文件对话框,打开新的视频文件。
3.2 类设计
移动视频播放器共包含4个类和一个接口。一个控制器类MobilPlayerMIDlet;一个视图类VedioCanvas;一个视频播放器类VedioPlayer以及一个文件对话框类VedioFileDialog和文件对话框命令的处理接口VedioFileDialogListener。图4显示了它们之间的关系。
1)控制器类MobilPlayerMIDlet:该类是应用程序主类,实现了MIDlet的生命周期控制方法。该类实现了PlayerListener接口,能够监视播放器的变化。同时,该类还实现了CommandListener接口,处理播放、暂停等命令。2)播放器类VedioPlayer:该类描述了视频播放过程。为了避免播放视频阻塞用户界面线程,视频的播放过程在一个线程中完成。
3.3 实例实现
移动视频播放器在eclispeME+SDK平台下,采用Sun公司的WTK进行模拟,通过实验达到了预期的效果。以下是运行的效果,如图5所示。
4 结束语
移动媒体的软件开发是当前研究的热点。该文阐述了J2ME的系统架构,分析了MMAPI框架,采用该技术设计实现了一款手机视频播放器。通过实验,取得了预期的效果。
参考文献:
[1] 卢军.J2ME移动软件程序设计[M].北京:水利水电出版社,2010.
[2] 傅伟.基于J2ME的手机掼蛋网络游戏的研究[J].计算机应用软件,2013(3).
[3] 黄志宏.基于J2ME的流媒体视频服务系统的设计与实现[J].计算机工程与设计,2010,31(19).
这样的一个上行/下行非对等分配的方式正符合目前In2ternet服务使用者的行为模式。在这个基础上,数字内容能够以IP层为核心进行汇聚,媒体服务可以以非线性化方式呈现,与观众的直接互动变得可能。一个基本的DVB-IPDC标准体系结构如图1所示。事实上,DVB-IPDC标准是一系列应用规范的集合,定义了所有的在IP层之上的功能组件,主要包括有:ESG(ElectronicServiceGuide,电子服务指南)、CDP(ContentDeliveryProtocol,内容投递协议)、SPP(Ser2vicePurchaseandProtection,服务购买与保护),以及NotificationFramew本论文由整理提供ork(通知业务框架)[2,3]。
ESG标准定义了一整套数据模型,用以描述在DVB-H广播网络中,透过CDP所能够传送的各种应用服务以及传输的细节。终端上的ESG处理程序负责辅助用户浏览收到ESG数据和选取在DVB-H广播网络上所传送的服务。
CDP标准定义了在DVB-H广播网络和移动通信网络上,以IP数据包传送音视频媒体流以及数据文件所需的通信协议集,包括FLUTE(FiledeLiv2eryoverUnidirectionalTransport,单向文件传输协议)、RTP(Real-timeTransportProtocol,实时传输协议)和HTTP(HyperTextTransferProtocol,超文本传输协议)。SPP标准则是实现收费服务的基础,定义了保护前述的音视频媒体流广播服务及数据文件广播服务所需的CA(ConditionalAccess,条件接取)与DRM(DigitalRightManagement,数字版权管理)技术。而正在制订中的NotificationFramework标准则被用来作为交互应用服务的基础框架,应用服务的数据内容都能以通知消息的形式传输,并通过通知应用服务(NotificationService)的方式提供给终端应用程序使用。在这个通知业务框架中,通知消息被用来作为向终端或者用户提供即将到达的或不可预知的服务事件或者信息。一条通知消息可能触发一系列随之而本论文由整理提供来的交互应用操作[3]。
在DVB-IPDC的框架下,现有网络中IP层之上的各种多媒体应用服务,都可以弹性地跨平台应用。从服务的角度来看,以提供数字媒体内容为主的流媒体服务,无疑是目前的主流业务。通知应用服务则可以作为媒体服务的附属增值业务或者独立的应用服务业务,提供增强型的多媒体交互应用。
而ESG服务则提供了访问由上述两种基本服务组合的各种不同应用服务的用户界面和访问指南,是与用户交互的接口。DVB-IPDC标准体系结构下文将主要探讨一个基于该框架的,实现上述服务应用处理的移动多媒体终端原型系统的设计与具体实现方案。
2系统设计与实现
2.1本论文由整理提供总体架构服务端采用实验室开发的DVB-IPDC多媒体综合服务系统提供各种应用服务,本终端的设计目标是在DVB-本论文由整理提供IPDC的框架内,能够接收服务端用各种协议会话传输过来的数据信息,实现流媒体服务应用、ESG服务应用、通知服务应用的处理及用户配置与注册等管理功能。整个系统以Java作为基础平台进行开发,根据功能需求,采用分层设计的方案,如图2所示。1)传输层:向上层应用提供指定会话协议的通信功能。
其中RTP模块主要负责接收音视频流媒体以及具有时间同步、服务相关性要求的通知应用服务数据。FLUTE模块用来接收绝大部分通过DVB-H网络传输的通知应用服务数据。HTTP模块则提供了一个双向通道,使终端可以完成服务注册或者向服务端请求个性的通知应用服务信息,提供了点对点的交互功能。2)功能层:在传输层提供通信服务的基础上,该层负责相关应用服务的数据处理以及终端系统的管理。会话管理模块负责其他功能模块调用下层协议通信模块创建服务接收会话。媒体处理模块负责提供音视频流媒体的解码以及同步处理。ESG处理模块主要负责ESG分片的维护、聚合以及解析,实现DVB-IPDC标准定义的ESG数据模型处理。
通知消息管理模块负责终端接收到的通知消息的解析、过滤、生命周期管理以及服务应用投递。订阅管理模块负责终端的服务申请与注册功能。
配置管理模块负责处理用户对终端的系统参数设置管理。存储管理模块负责终端的用户参数、ESG应用服务数据以及通知应用服务的相关信息本论文由整理提供数据的存储。应用管理模块则向各种应用服务提供了一个公共的应用框架,用户通过获取或者订阅启动使用的应用服务都集成于该框架之内,通过公用的接口调用其他模块的功能,使得终端能够动态加载各种应用服务,而具体的应用服务的功能逻辑实现与平台无关。3)应用层:媒体播放器负责播放经解码和同步处理后的音视频媒体流。
ESG浏览器能够显示终端得到的ESG数据信息并支持与用户交互。用户配置使得用户能够设置终端的用户应用参数。通知应用界面容器是用来装载各种通知应用的用户界面接口,提供终端用户与通知应用服务的交互。终端架构2.2ESG数据的处理与显示。
ESG用XMLSchema来定义其数据结构[4]。分片(Fragment)是ESG内容的最小组成单位。根据分片携带信息数据的属性的不同,可以分为3大类共7种类型的分片:①服务信息相关分片:Service、Sched2uleEvent、Content,提供有关服务类型、时间安排、服务内容等应用服务的业务信息;②订阅购买信息相关分片:ServiceBundle、Purchase、PurchaseChannel,提供有关购买组合、价格等相关信息;③获得信息分片:Ac2quisition,提供应用服务的访问途径和参数,对于用户不可见,但却是终端访问业务应用的入口。通过分片机制,终端可以独立地接收和更新不同分片,而不管其发送顺序,并且可以在接收部分的分片后就根据各分片之间的关系进行聚合(Aggregate),通过ESG浏览器展现内容给用户,不需要等待全部分片到达。
目前以XMLDOM树形式来组织本论文由整理提供管理ESG分片信息。符合ESG数据模型定义的分片到达终端后,通过遍历该DOM树,可以作为新节点加入或者更新相应位置的节点信息,同时检查是否有失效的分片信息,进行删减维护。ESG显示处理采用MVC模式[5],后台DOM树数据对象发生的变化,可以实时地反映到ESG浏览器。
2)流媒体服务与特定通知应用服务的关联与信息同步问题。基于DVB-IPDC框架的多媒体服务相对于传统多媒体服务的最大优势就在于支持用户实时交互。流媒体服务不再是单纯的数字媒体收视,而是可以与通知应用服务进行绑定,提供交互应用,并且通知消息与流媒体服务的媒体内容可以进行紧密的时间同步[6]。
前者通过在应用服务ESG数据的Service分片描述中指出了服务关联。而对于通知消息与媒体内容的时间同步,可基于RTP/RTCP传输协议进行。RTP/RTCP协议中的同步采用时间戳方法,不同媒体之间依靠RTCP报文中包含的参考时钟信息和相关的RTP时间戳信息来进行同步[7,8]。
终端系统在RTP协议会话上接收到音视频媒体流和通知消息数据流后,依据同步的各方共享的远端参考时钟,建立一个虚拟的时间轴来决定媒体的下一帧表现时间和通知消息的应用时间。需要指出的是,通知消息并不像媒体数据那样具有持续时间(Duration)的概念[9],目前采取的处理方法是,用每条消息的首包中的RTP时间戳来对齐参考时间轴,在完整地接收到一条通知消息后,用得到的应用时间值设置一个计时器绑定该通知消息,然后提交给通知消息管理本论文由整理提供模块,由计时器来触发后续的应用处理动作。
3)通知消息管理。在终端的通知应用中,虽然通知消息的处理是由承载的数据内容和通知应用程序决定,但终端系统处于动态变化的移动环境下,行为并不具有可预测性,尤其是在通知消息丢失后,可能会导致终端异常。为此DVB组织提出了一种管理通知消息在特定状态下的潜在应用动作的生命周期参考模型[3]本论文由整理提供
。
根据消息本身的时间特性和数据内容的接收情况,通知消息可能处于3种稳定状态和1种过渡状态中的某一状态中,状态之间的变迁具有确定的处理动作。具体如图3所示:通知消息的默认初始状态为Absent,这同时也是通知消息从系统中删除后的最终状态。该状态下无计时器与通知消息关联,从该状态向其他状态变迁意味着加载该通知消息。Loaded状态表示该通知消息已经下载完毕,但是没有后续的被启动媒体播放器,通知应用程序启动自己的应用界面)。
然后该应用服务程序通过会话管理模块调用底层协议通信模块,根据应用服务的访问信息创建对应的服务会话接收应用服务数据。如果是流媒体服务,则将媒体数据信息交由媒体处理模块处理后在媒体播放器展现;如果是特定的通知应用,则经通知本论文由整理提供消息处理后分发给该通知应用程序使用。如果该通知应用存在交互动作,用户能够通过HTTP模块同服务端进行交互操作(如图6所示)。图6ESG交互与应用服务启动3结束语随着DVB-IPDC的推广,基于该框架的移动多媒体业务应用必将得到广泛发展。笔者在DVB-IPDC技术框架的基础上,提出了一个移动多媒体终端的设计与实现方案,并对实现过程中的关键问题和相关技术方法作了一定探讨,目前已经初步完成了一个基于上述方案的原型系统。下一步的工作是在该原型系统的基础上,进一步优化业务流程处理,进行平台移植测试。
参考文献:
[1]高鹏,李薰春,谢锦辉.移动多媒体广播技术发展综述[J].广播与电视技术,2006(3):63-65.
[2]KornfeldM,MayG1DVB-HandIPDatacast:BroadcasttoHandheldDevices[J].IEEETransactionsonBroadcasting,2007,53(1):161-170.
[3]DVBCBMS.IPDatacastoverDVB-H:NotificationFrame2work[S].ETSITS102832,2008.
[4]杨晨,王慧,唐晓晟,等.移动多媒体广播中电子业务指南的生成与解析[J].电视技术,2007(31):37-39.
[5]任中方,张华,闫明松,等.MVC模式研究的综述[J].计算机应用研究,2004(10):1-5.
[6]蔡倩,谷建华,倪红波,等.基于数字电视中间件的媒体播放器研究与实现[J].计算机应用,2007(3):737-739.
[7]崔莉,王敏,吉逸.流媒体同步机制研究[J].计算机应用研究,2005(1):73-75.
[8]逄栋,姜昌金.流媒体技术及其开发方法[J].计算机技术与发展,2006,16(2):145-147.
关键词:流媒体;现代远程教育;网络
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)22-5407-02
Application of Streaming Media Technology in Modern Long-distance Education
YU Zheng-hong,YANG Hua-yong
(Department of Information Engineering, City College, Wuhan University of Science and Technology, Wuhan 430083, China)
Abstract: With the development of computer and network technology, streaming media technology has matured and improved,then has been widely used in many areas, its application has injected new vitality to the network teaching in modern distance education. This paper analyses of streaming media technology and its application in modern long-distance education, with a view to discussion on streaming media technology and development of modern long-distance education.
Key words: streaming media; modern long-distance education; network
现代远程教育是随着现代信息技术的发展而产生的一种新型教育形式,它突破了传统在时间和空间上的限制,最大限度的实现了教育资源的共享。现代远程教育的授课方式一般有同步授课和异步授课两种:同步授课可实现教师和学员之间的交互学习、实时交流,但需要占用较大的宽带;异步授课是指采用Web技术,事先将多媒体课件放到服务器上,用户需要时可将其下载到本地计算机上播放,但由于数据量大需占用大量的服务器空间,且用户下载需要等待一定的时间。由于互联网络带宽的限制,很难将结构类型复杂、内容庞大的教学资源文件在教师端和学生端进行有效、实时地传输。但流媒体技术的出现对解决上述问题提供了极大帮助,利用该技术可以在任意时间把各种庞大的教学资源如视频、音频、文本、图像、课件、动画等,通过互联网络传输给任意地点的学习者,使现代远程教育系统更好的发挥其教育功用[1]。
1流媒体技术简介
流媒体(Streaming Media)是指应用流技术将连续的多媒体文件分割压缩后在互联网上传输与播放的媒体格式。
1.1流媒体技术原理
流媒体技术是将完整的多媒体文件(如视频、音频等)经过压缩后保存在网站服务器上,流媒体的传输需要缓存的支持。当用户点击播放多媒体文件时,系统会先创建一个缓存,然后采用流式传输技术分段传输数据,用户可以边下载边播放。
多媒体文件通过Internet进行传输时先被分解成许多数据包,然后进行断续的异步传输,但是,由于网络是实时动态变化的,各个数据包选择的路由可能不同,导致各数据包到达客户端的顺序会不同于服务端发送的顺序。基于这种情况,要使得客户端按照正确的顺序播放多媒体文件,就需要使用缓存系统来弥补延迟和抖动,客户端收到数据包后先缓存起来,播放器再从缓存中按次序读取数据。采用了缓存机制后,即便发生网络拥堵,数据量不能及时到达客户端,也不会影响播放,因为播放器可以读取以前缓存的数据,等到网络正常后,新的数据会继续添加到缓存中。但这并不会给客户端造成较大的负荷,因为高速缓存所需的容量较小,所以,普通的客户端可以完全满足对流媒体文件的接收。一般用户端接收机的高速缓存使用环形链表结构来存储数据,这样当接收到的内容一旦播放完毕便要被丢弃,释放出原有缓存空间重新接收缓存其他未被播放的数据包,实现数据包的实时流动更新,直至传输结束[2]。
1.2流媒体的传输协议
流媒体的传输采用的是效率较高的RTP/UDP协议,虽然TCP传输协议可靠性较高,但其开销多,难以满足流数据的实时传输,但是TCP协议可以用来传输控制信息。流媒体传输原理如图1。
Web服务器为用户提供流媒体的操作界面。当学习者在浏览器上选择播放某一视频时,Web服务器接到请求后会将这一资源的流媒体服务器地址、路径等信息提供给客户端,然后启动流媒体播放器,连接流媒体服务器,播放流媒体文件。流媒体播放器与流媒体服务器之间的信息交换与控制使用的是RTSP协议,完成对流媒体文件的播放、暂停、快进、后退等操作的命令和方法。通过RTSP协议,客户端向服务器提出了播放某一流媒体资源的请求,服务器响应了这个请求后,就可以把流媒体数据传输给客户端了[3]。
但是,对于流媒体数据的传输并不是依靠RTSP协议,而是基于UDP的RTP协议,RTSP协议在传输过程中具有控制数据传输的作用。
1.3流媒体的播放方式
流媒体服务器可以提供的播放方式主要有三种,即:单播(unicast)、组播(Multicast)和广播(Broadcast)。单播是指每个客户端单独与流媒体服务器建立数据通道,服务器只将数据传给这一个客户端。用户通过单播方式可以满足自己的个性化需求,可实现暂停、快进、后退等功能。其缺点是对流媒体服务器的性能要求和网络速度要求很高,当单播用户较多时,造成服务器负担较重,造成播放停顿或停止。组播方式是基于“组”的播放方式,流媒体服务器发出数据时,某一特定的组能够接收到,其他之外的客户端则接收不到,这就大大减轻了服务器的负担。但是接收到流数据的组,并不能控制流,也就是在播放时不能根据自己的需要进行暂停、快进、后退等操作。广播是流媒体服务器发出的数据可以被同一网段上的所有客户端所接受,它是组播的一个特例。组播和广播都是只传输一份流数据,发送给多个客户,这样可以保证流数据占用最小的网络宽带。
图1流媒体传输原理图
2流媒体在现代远程教育中的应用
流媒体在现代远程教育中的应用极大的提高了网络教学质量,推动了现代远程教育的发展,其应用主要有以下几点:
2.1实现教学课堂的网络直播
远程课堂教学是现代远程教育的一个重要环节,在传统的远程教育中,学生想通过视频学习或观看讲座的前提是已经有录制好的视频文件存储在服务器上,然后学生下载到客户端,才能观看。流媒体技术在远程教育中得以应用之后,学习者可以在Internet网络上直接观看教学直播,无需事先录制媒体文件,而是采用实时生成的多媒体流的方式直接进行广播,学习者可以不受地点的限制,在任何一台多媒体计算机上受到课堂教育,创建一种“面对面”的教学环境,缩短教学双方的空间距离。直播结束后,还可以生成基于流媒体方式的教学节目,存储到流媒体服务器上,方便学生随时点播。
远程广播实现方式如图2,摄像机及话筒采集到的视频、音频信息经数字化之后传输给Windows media encoder进行实时压缩编码,生成实时的ASF数据流,编码输出的节目流经Windows media server实现网上直播。S代表学生端。
图2远程广播实现示意图
2.2视频点播,自主学习
采用流媒体技术以后,学习者可以即时点播所需的多媒体文件,只需要几秒钟的下载时间,便可以边下载边播放,而不用像以前一样下载到本地计算机,节省了下载的时间和客户端的存储资源。学习者可以自由选择学习时间和地点根据自己的学习进程选择适当的课程,点播视频进行自主学习。同时,学习者在观看视频的过程中可以灵活控制观看进度,对视频进行快进、后退、暂停等操作。在这种学习方式中,学生完全掌握学习的主动权,可以根据自己的情况,自由选择教学内容、教学进度,学生不再是被动地接受知识,而是积极主动地参与到学习过程中[4]。
2.3远程交互式教学
借助流媒体技术还可以实现教师端与学生端的远程互动,加强师生之间的交流,达到更好的教学效果。交互模式包括异步交互、同步语音交互、同步文本交互、同步视频交互等方式,通过同步交互可以实现教师和学生的实时互动,方便与教师对学生的在线指导。交互过程要借助摄像机、话筒等设备对视频、音频信息进行采集和处理,然后上传流媒体服务器,流媒体服务器再到终端计算机,实现交互式教学。流媒体技术结合其他多种网络实现技术,再充分利用传统多媒体教学资料库,我们将能够更有效地开展基于网络的教学,提高教学效果[5]。
3总结
流媒体技术在现代远程教育中的应用给网络教学带来了新的活力,随着计算机技术和网络技术的不断发展,流媒体技术也将有长足的进步,其在现代远程教育中的应用也将更加广泛和成熟,将更好的促进现代远程教育的发展,为我国终身教育体系和学习型社会的建立贡献了力量。
参考文献:
[1]周颖,曹茜,周恕义.流媒体技术及其在远程教育中的应用[J].中国现代教育装备,2006,6:1-7.
[2]孙莹莹.流媒体技术与现代远程教育[J].长江大学学报(自然科学版),2010,7(3):400-401.
[3]林天峰.Linux服务器架设指南[M].北京:清华大学出版社,2010,523-526.
My Book Live个人云存储解决方案兼具公共云与个人云的优势,帮助用户将媒体和文件安全地保存在家中的硬盘里,并通过WD移动应用程序在任何联网的PC、Mac电脑、平板电脑和智能手机上访问这些内容。通过My Book Live,用户可以分享文件、流媒体和在任何地方访问媒体文件,无需月租费,也会对保存在家中的数据拥有完全的掌控。除此之外,通过WD 2go Pro应用程序可与朋友、家人和同事共享几乎所有的私人文件,从图片、个人视频到工作文档和演示文件。
WD 2go web是WD的第二代远程访问技术,可实现My Book Live和远程电脑之间的对等网络连接,实现速度和流量最大化。“用户希望在任何地方、通过任何设备都可以访问个人云,而且不需要支付月租费,不会对个人数据失去控制。其次,可以随心所欲地访问所有文件,无需担心文件是否与设备同步。现在,通过WD 2go移动应用程序和WD My Book Live个人云存储方案,用户在任何地方都能用移动设备存储、分享和访问所有数据。”西部数据外置产品与消费电子集团执行副总裁兼总经理Jim Welsh表示。
WD一直致力于提供安全存储与在任何屏幕上、任何地点访问数字内容。WD 2go应用是这一愿景的最新实现,支持多种流媒体电影、音乐或访问包括Microsoft Office办公软件文件在内的媒体文件格式。除了具备WD 2go应用程序的所有功能之外,WD 2go Pro还拥有如下高级功能:
剪辑用户可以剪辑从My Book Live硬盘下载到移动设备的文件、图片、歌曲、视频或文件夹,以便离线访问;
自动同步将My Book Live中的新增文件自动与移动设备同步;
内容共享使用电子邮件发送文件,通过链接共享文件,利用第三方应用程序打印和打开文件;
附加安全性使用 4 位密码锁定访问权限。