流媒体播放范文
时间:2023-03-27 01:25:35
导语:如何才能写好一篇流媒体播放,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词: 流媒体; JSP; Html5; Chrome浏览器; 视频控制
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)18-0191-03
Design and Implementation of Playing Streaming Media Based On JSP
YANG Zi-xiang,LIN Peng
(Tianjin Open University, Tianjin 300191, China)
Abstract: With the development of Internet, playing web video is more and more on web. However, if playing the video through the HTML5 or the Html tag, then dragging and dropping the video only after the completion of the video completely downloaded before using. Through research and analysis principles of streaming media server of Windows Media Services, and research Http package of Chrome browser, the paper successfully devised playing streaming media with JSP program. By publishing program on Tomcat, users can drag and drop the video during playback, successfully resolving the problem of the HTML5 or the Html tag with not drag.
Key words:Streaming Media; JSP; Html5; Chrome browser; Video Control
1 概述
随着Internet的发展,网页视频播放的使用越来越多。因此,视频播放的用户体验也越来越实用;视频的播放、暂停、定点播放等操作的需求也就越来越大,而且也更符合用户实际浏览视频的要求。但是,目前如果直接通过HTML5的或者Html的标签播放视频的话,视频的拖拽功能只有在视频完全下载完成后才能使用。这就会加大服务器的压力,因此越来越多的用户开始使用流媒体。
所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。流媒体的出现极大地方便了人们的工作和生活。目前,使用流媒体的话都会通过流媒体服务器(比如Windows Media Services等)来搭建流媒体平台[1-4]。
JSP作为一种网页开发语言,在网站的开发中使用者的比例很大;因此,使用JSP开发的网站对视频播放的需求也会越来越多。但是,如果直接通过JSP后台平台结合HTML5的标签进行视频播放的话,就会出现网页中视频无法拖拽,从而不能实现定点播放等功能。所以,通过JSP语言实现视频的流媒体播放对于JSP网站来说,不仅可以省去借助流媒体服务器的烦恼,而且可以实现在线视频播放的随意控制,从而满足用户的实际需求。
2 基于流媒体服务器的网页播放探究
流媒体服务器的使用,解决了视频播放过程中,直接访问网络视频资源导致的视频拖拽问题。因此,流媒体服务器的网页视频资源的访问方式对于本文的设计来说,具有很大的价值。Windows Media Services作为一种流媒体服务器,是Windows Server服务器系统中使用频率很高而且性能很好的流媒体服务器。本文通过Chrome浏览器访问Windows Media Services中视频资源的流程研究发现,在视频拖拽的控制中,Chrome浏览器都会发送Http请求包;Windows Media Services接收到浏览器的请求后,再根据Http中包含的内容返回相应的视频片段。具体的流程如图1所示。
如图1中流媒体视频在Chrome浏览器和Windows Media Services流媒体服务器之间的交互可以看出,无论视频的播放还是中间视频播放控制,都是Chrome发送Http包进行控制;而Windows Media Services流媒体服务器则是负责对视频片段的返回。因此,本文使用Chrome浏览器访问对已经在Windows Media Services流媒体服务器中的视频,通过Chrome浏览器中的Network网络工具,对Http包进行抓取。图2中显示的是视频点击开始播放后,即视频从头开始播放,抓取的Http请求包的头文件内容。图3和图4中显示的则是视频播放过程中点击视频任意位置后,抓取的Http请求包的头文件内容。
3 基于JSP的在线流媒体播放的实现
在第二节中,本文通过Chrome的Http包的追踪功能,截取了视频在播放控制过程中不同播放位置请求的包。通过图2、图3和图4的追踪结果可以看到他们的Request Headers以及Response Headers中的部分头文件字段是不同的,具体的信息比较如表1所示。
由表1中可以看到,三个图中的Http包中只有Range、Content-Range字段是不同的,其他的字段的内容根本就没有发生变化。其中,Range是Request Headers中的字段,Content-Range是Response Headers中的字段。在表1中还可以发现,Content-Range字段的内容和Range字段的内容有一定的关系;Content-Range内容中“-”前的数值和Range是一致的。同时,在表1中也可以发现,Content-Range字段和Content-Length字段有一定的关系;Content-Range内容中“/”后的数值和Content-Length是一致的。我们知道,Http包中的Content-Length的作用主要是记录文件的长度,因此可以在服务器端通过程序求出文件的大小。
由于Http包中的Request Headers是由浏览器进行发出并封装的,因此本文的程序无法控制包中的Request Headers内容。但是,Http包中的Response Headers是由服务器封装后返回给浏览器的;因此,本文的程序设计将会根据Http包中的Request Headers字段内容,对Http包中的Response Headers字段进行封装返回给服务器。根据以上的分析,本文通过JSP进行程序设计如下:
@RequestMapping(value = { "/videos/{path}" })
public String displayVideo(HttpServletRequest request,
HttpServletResponse response, @PathVariable String path) {
try {String filePath = videoDir + path + ".mp4";
File file = new File(filePath);
if (!file.exists()) {
response.sendError(404);
LOG.error("未找到文件" + file.getCanonicalPath());}
Long fileLength = file.length();
LOG.debug("文件找到了,大小为" + fileLength);
String range = request.getHeader("range");
if (range != null && !range.equals("")) {
LOG.debug("请求的名字是range,内容是" + range); }
Long startPos = 0l;
if (range != null && !range.equals("")) {
Pattern pattern = Pattern
.compile("^bytes\\=(\\d+)(?:\\-(\\d+)?)?$");
Matcher matcher = pattern.matcher(range);
LOG.debug(matcher.matches());
startPos = Long.parseLong(matcher.group(1), 10);
LOG.debug("成功截获range,开始位置是" + startPos);
response.setStatus(206);
} else {
response.setStatus(200);
LOG.debug("从头开始传送");}
InputStream is = new FileInputStream(file);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
response.addHeader("Content-Range", "bytes " + startPos + "-"
+ (fileLength - 1) + "/" + fileLength);
response.addHeader("Content-Length", fileLength.toString());
response.setCharacterEncoding("UTF-8");
response.setContentType("video/mp4");
response.setHeader("Accept-Ranges", "bytes");
is.skip(startPos);
int length = is.read(buffer);
while (length > 0) {
os.write(buffer, 0, length);
length = is.read(buffer); }
os.flush();
os.close();
is.close();
} catch (Exception err) {
if (err.getClass()
.getName()
.equals("org.apache.catalina.connector.ClientAbortException")) {
LOG.debug("客户挂断了");
} else {
err.printStackTrace();}}
return null; }
在本文的程序设计中,浏览器的视频请求URL路径的后端是通过JSP中的Spring框架进行控制,在路径中的/videos/{paths}即是视频路径存储在磁盘的相对位置;在程序中,视频的读取并没有经过中间的流媒体服务器,而是直接读取在磁盘中的视频文件。经过程序在Tomcat7上测试之后,视频在播放的过程中,用户可以根据需求随意拖拽,解决了Html5中标签不能播放的问题。具体的如图5所示,图中显示的是程序后视频随意播放截取的Http包。经比较,与文中的图3、图4中间播放的Http包的内容是相似的,实现了流媒体播放的效果。
4 结论
本文通过分析Windows Media Services流媒体服务器中视频拖拽播放控制过程中,Chrome浏览器发送的Http包的信息,得出了浏览器播放视频时播放控制和Http包中Request Headers、Response Headers头文件的关系。并且,本文通过JSP程序语言的设计,成功实现了流媒体服务器控制视频播放的原理。本文设计的程序到Tomcat后,经过该程序访问的视频都可以在浏览器端随意拖拽播放视频,解决了Html5的标签不能直接播放服务器磁盘中视频的弊端,也省去了流媒体服务器视频的任务。
参考文献:
[1] 蒋太杰. Windows Media Services及其在远程教育中的应用[J]. 指挥技术学院学报, 2001, 12(6): 81-85.
[2] 王雪婷, 于勇. Windows Media Services流媒体技术与实现[J]. 信息技术与信息化, 2006(1): 51-53+64.
篇2
关键词: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.
篇3
近来,智能手机得到了长足发展,不少智能手机的用户常常把下载或压制的视频文件放到手机上观看,手机视频一族由此诞生,并迅速增长,吸引了越来越多的手机用户。而到了诺基亚推出7710之时,更凭借其独有的掌上电视功能,将手机流媒体这个概念推向了一个。虽然需要在特定的网络模式下才能使用,但是却再次促发了广大用户对手机网络电视的迫切需求。
于是,伴随着市场和智能手机这个平台的成熟,手机流媒体播放软件也横空出世。目前手机上比较主流的流媒体播放软件有三款:一款是由手机流媒体的前辈级企业开发的流媒体播放器――FunVio;一款是由全国最大的WAP网站――3G门户开发的GGTV;另一款则是由腾讯开发的QQ影院。下面就让笔者用这三款软件,和大家一起去欣赏一下手机流媒体。
情迷流媒体
在我们使用流媒体工具之前,我们应该了解其工作的流程。在PC上,现有的流媒体播放软件都带有自己的节目单,我们需要收看什么栏目,只需点击相应的栏目单,播放器就会自动缓冲,并进行播放。而在手机上,这个过程要稍微复杂一些,由于受到手机浏览器技术限制的原因,手机端的流媒体播放器中并不包含流媒体运营商所提供的节目清单,而是需要通过流媒体播放器进入相应的流媒体运营商的WAP网页,然后在相应的栏目中找到自己需要的节目进行点播,最后再切换到流媒体播放器过程稍显复杂,但相信这点完全不会影响手机玩乐一族们对手机流媒体的兴趣。
作为国内最早运营手机流媒体的平台,FunVio流媒体播放器在技术上具有一定的优势。FunVio支持所有的智能手机平台,就连以往被众多软件“排挤”在外的Linux也不例外,因此称之为最为全面的手机流媒体播放器并不为过。
在内容上,由于运营时间较早的关系,FunVio包含了11个电视台的直播内容。不过,除了央视体育频道、凤凰卫视中文台、凤凰卫视资讯台、东方卫视四个比较有价值的频道之外,其余基本上是杭州的地方电视台节目。除了电视直播,FunVio平台上拥有数量较多的电影、电视剧、动漫等内容,而其中的MTV视频栏目可谓是FunVio平台的一个特色。
在流媒体播放软件的网络连接上,FunVio支持CMWAP和CMNET两种方式,不过比较遗憾的是,FunVio在Smartphone、UIQ以及S60部分机型上不支持CMWAP连接方式,这无疑影响到了手机玩家的使用热情。
网络连接方式
对于手机流媒体来说,网络连接是很重要的,这不仅涉及到视频播放的流畅程度,而且还牵扯到手机用户所付出的费用。在启动FunVio时,你可以对网络连接方式进行设置,其中包括CMWAP和CM-NET两种。熟悉GPRS上网的手机用户都应该了解,理论上CMNET的传输速率要稍高于CMWAP,不过,在资费上,CMWAP则具有较大的优势。目前,CMWAP有包月服务(即使在没有包月服务的地区,其费用也相当低廉),而CMNET则没有相应的包月服务,且资费也较高。因此,在使用像手机流媒体播放器这样需要较大流量的增值服务时,玩家往往会考虑使用CMWAP的连接方式以节省资费。
作为国内用户最多的免费WAP网站,3G网站推出流媒体服务可以说是在意料之中,而其作品――GGTV虽然运营的时间不长,但是就其性能和受欢迎程度来说,可以称之为手机流媒体播放器中的佼佼者。
在内容上,GGTV也有直播和点播两种内容,其中直播内容既包括了央视新闻、凤凰卫视等这样强势的新闻资讯类频道,又包括了像中央三台、MTV音乐、湖南卫视这样的娱乐频道。另外,像中央五台、广东体育等这样的体育频道以及香港地区的无线翡翠、亚视本港等节目也在其中。就直播节目的质量和丰富程度来说,GGTV对玩家还是很有吸引力的。同样的,GGTV平台还拥有较多的电影、电视剧和动漫节目。
在流媒体播放软件的网络连接上,GGTV支持CMWAP和CMNET两种方式,而且令玩家兴奋的是,其支持的所有智能手机均能使用CMWAP方式连接。
流畅与清晰
众所周知,流媒体的品质与网络速度有很大的关系,因此,为了适应现有的低网速局面,手机流媒体播放软件大都以牺牲视频清晰质量为代价来达到播放流畅的要求。但是,并不是所有的节目内容都需要降低画面质量的,就内容而言,只有像新闻、体育这样的节目才真正需要保证播放的流畅程度,而对于非直播性节目来说,只要用户在播放前让播放器缓冲时间稍长一些,那么就同样可以看到清晰的视频内容,并且依然流畅。尤其是对于动画片而言,其每秒播放的帧数低于普通电影,因此在动画片上同时享受清晰高质的画面和流畅的播放并不矛盾,所以,GGTV采用“流畅版”和“清晰版”这两种播放模式供用户选择是十分值得称道的。
与前面两种手机流媒体播放软件相比,QQ影院似乎少了很多特色,尤其是其没有直播节目更是有些相形见绌,不过在视频内容上,QQ影院还是具有自己的优势的,这就是数量庞大的各种电影、电视剧和动画片。进入QQ影院的WAP页面,各种大片和热门电视剧就扑面而来,内容分类之广、速度更新之快,都是其他两个流媒体运营平台的点播内容所不能相比的,从而也奠定了QQ影院所拥有的用户群体。
如何选择?
介绍了三款流媒体播放软件之后,或许你还不是很清楚自己需要哪一款,如果是这样,那么就请听听编辑的建议:对于大多数玩家来说,使用3G门户网的GGTV就足矣了,其出色的功能和优秀的内容可以满足绝大多数用户的需求。而从使用的智能手机平台来选择,对于使用UIQ和Linux操作系统的用户来说,编辑推荐使用FunVio,PPC用户同样可以根据自己所需要的节目内容来考虑使用FunVio。
编辑认为手机上只有一款流媒体软件是不够用的,从流媒体内容重合的角度来考虑,最佳的选择方式是使用GGTV+QQ影院的方式,这样就电视、电影两不误了。
篇4
一、流媒体的概念与特点
流媒体是指运用可变带宽技术,在数据网络上按时间先后顺序传输和播放连续音/视频数据的一种格式。流媒体在播放前只将部分内容缓存,并不下载整个文件,在数据流传送的同时,用户可在计算机上利用相应的播放器或其它的硬件、软件对压缩的视音频等流式多媒体文件解压后进行播放,这样就节省了下载等待时间和存储空间,延时大大减少,而多媒体文件的剩余部分将在后台的服务器内继续下载。
二、流媒体系统及其关键技术
流媒体数据流具有连续性、实时性、时序性三大特点,具有严格的前后时序关系。
流媒体系统的组成
流媒体系统包括音视频信号编解码、存储、流媒体服务器、流传输网络、用户端播放器五个部分,原始音视频流经过编码和压缩后,形成媒体文件存储,媒体服务器根据用户的请求把媒体文件传递到用户端的媒体播放器。
流媒体文件格式
流媒体文件是将一个视频分段传送,用户不必等待整个内容传送完毕,就可以观看到即时、连续的内容,甚至可以随时暂停、快进、快倒。由于不同公司的文件格式不同,传送的方式也有所差异,以下是目前流行的几种流媒体文件格式。
(1)Microsoft公司的WMV格式
(2)Adobe公司的FLASH格式
(3)苹果公司的QuickTime格式
流媒体系统的关键技术
流媒体系统中,影响流媒体播放质量的三个最关键的因素是:编码和压缩的性能与效率、媒体服务器的性能、媒体流传输的质量控制。
(1)编码/压缩
流媒体系统中的编码用于创建、捕捉和编辑多媒体数据,形成流媒体格式。
(2)流媒体服务器
流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放。服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。
(3)流媒体传输网络
流媒体传输网络是适合多媒体传输协议甚至是实时传输协议的网络。
流媒体在因特网上的传输必然涉及到网络传输协议,这是制约流媒体性能的最重要的因素。为了保证对网络拥塞、时延和抖动极其敏感的流媒体业务在面向无线网络中的服务质量,必须采用HTTP、RTP、RTC P、RTSP、RTMP等合适的协议。
三、流媒体在宽带网络的应用及在国内外的发展
篇5
【关键词】流媒体 光复用 分析
信息时代之下,整个社会对于信息的依赖都有所加强,在某些特殊的领域中,信息甚至直接与当前社会正常行为的展开,以及经济的发展都息息相关。要求实时传输的数据越来越多,并且为了能够更好地实现与社会中其他成员的沟通,流媒体应运而生,这也从一个侧面对数据传输网络本身的能力提出了新的要求。有鉴于此,更需要我们对流媒体数据传输环境下的通信手段展开更深的了解和认识。
1 流媒体数据传输特征
流媒体又叫流式媒体,即指采用流式传输的方式在网络中进行传输并且播放的媒体格式。在当前的网络环境中,音频以及视频文件,通常会采用流媒体格式进行传输,这主要是考虑到此类文件通常相对庞大,并且当前数据实时传输的需求与日俱增,而采用流传输的方式加以实现,能够有效保证信息消费端的时间得到良好利用,对于有效实现数据传输资源的均衡使用也有积极的推动作用。
从技术角度看,流式传输方式是将视频和音频等多媒体文件经过特殊的压缩方式分成多个较小的压缩包,最终在用户发起数据传输请求的时候由服务器向用户计算机实现从用户角度看的连续、实时传送。同一个流媒体文件在传输的时候,时序上较靠前的文件包在完成传输并且实现播放的时候,能够为时序上靠后的文件包赢得传输时间,从而实现用户角度的连续传输。这种数据传输方式,是所谓的实时观看应用的基础,也是解决大容量媒体文件的必要手段,不仅仅对于某些文件的传输意义重大,对于实时的视频监控以及会议等媒体应用更深地步入市场环境也有着极为重要的推动作用。
就流媒体系统的组成角度而言,典型的流媒体系统通常包括编码服务器、转码工具、流媒体服务器、媒体播放器以及多媒体制作技术五个组成部分。其中编码服务器负责实现人类可识别语言与机器语言之间的转化;转码工具则负责将有待传输的媒体文件分割成为若干小文件,并且压缩打包为传输做准备;流媒体服务器负责发挥平台型的作用,帮助从技术角度搭建起供流媒体传输的逻辑技术平台;而媒体播放器则负责将获取到的媒体文件合理组织,并呈献给终端用户;最后的多媒体制作技术,则负责帮助通过媒体播放器将多种媒体信息综合到同一个界面上予以展现,将包括文字、图片、声音等在内的多种媒体文件加以综合播放,为用户提供多媒体综合体验。
2 流媒体传输环境下的光复用分析
在面对流媒体数据传输的时候,通信链路本身的数据传输能力成为了整个数据传输环境中的瓶颈所在。一方面对于流媒体的分割不能太小,否则会影响不同的分割部分之间的衔接效率,危害到用户的观看体验;但同时其分割不能太大,太大就会造成可能在时序上前一个文件块已经播放完,而时序上的后一个文件块尚未传输完毕,造成媒体播放器只能停止等待的状况,一方面危及用户体验,另一个方面在实时性方面也凸显不足。
这种流媒体对于数据传输物理链路传输能力的要求,与当前光相关技术的进步,一同推动着光网络的深入应用。就当前的发展状况看,光纤的造价不断降低,已经成为了当前和未来一段时间内毋庸置疑的优质数据传输载体,并且随着技术的进步,光复用技术的精度也与日剧增,这同样成为了推动光网络深入发展的重要力量。当前在光复用领域中,以光波复用(wavelength-division multiplexing,WDM)技术最为突出。从根本上看,这是一种将多个携带信号的光源压合在一个通信光线中进行传输的技术,在这样的复用技术之下,光纤的信息容量最多可以提升到原来的几十倍,并且随着光复用精度的不断增加,同一根光缆通道上能够容纳的数据量还可以得到进一步的提升,从而大大提升光纤的利用率以及信息的传输效率。
一个典型的光波复用技术的传播系统结构参见图1。
整个光复用技术的核心在于光复用系统,其作用在于将多个不同波长的光信号复用在一起并通过光缆进行传输,这中双向工作设备有点像之前铜网中的调制解调器,能够实现复用和解复用两种功能。
从应用的角度看,光复用技术本身降低了光通信的成本,从理论角度看,一根光纤的容量随着光复用技术的成熟状况和精度能够得到无限提升,因此光纤网络从物理层面看,仅仅需要关注以安全和稳定作为基础考虑的备份和冗余即可以满足整个通信网络的需求。而对于网络架设方面,当前市场上的光复用技术以及设备已经日趋成熟,尤其是光复用设备所采用的无源光学设备,更是以其较小的体积以及较高可靠性主城,结构也相对简单,为大规模应用铺平了道路。与此同时,光纤的接续技术也在不断进步之中,接续损耗的不断降低,也是推动光网络逐步走向信息消费终端的重要推动力量。
3 结论
基于当前流媒体的传输特征,以及光复用技术的成熟状况,在未来的时间内,这二者必然都会占据数据网络的重要地位。人们对于流媒体以及流传输技术的需求必然会成为未来数据传输的重要特征,而这必然会随着光相关技术的成熟,以更强劲的生命力出现在技术领域之中。
参考文献
[1]张涵.光纤通信技术与光纤传输系统的分析与探讨[J].科技创新导报, 2011, (01)
[2]裘庆生.浅析我国光纤通信发展现状及前景[J].信息与电脑(理论版), 2009, (12)
篇6
流媒体技术作为一种新的网络媒体传输方式,突破了网络带宽限制,实现了动态音视频资源的数字化、网络化存储、传输和管理,使高校现有校园网络环境下教学信息资源的应用价值和利用率得到了极大提高。当前主流流媒体系统平台主要有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).
篇7
关键词:流媒体;网络课程;资源集成;SMIL
中图分类号:TP37,TP393 文献标识码:B 文章编号:1004373X(2008)1810304
Network Course Resource Integration and Its Key Techniques Based on Streaming Media
PAN Luyi
(Zhejiang Vocational College of Commerce,Hangzhou,310053,China)
Abstract:Network course is a basic element and an important resource of the network teaching.It introduces the Synchronized Multimedia Integration Language(SMIL).Based on the developing environment of realsystem streaming media,it researches a few key techniques in the process of network course integration,such as the medium combination,time line programming and broadcast layout setup.It points out the relevant problem and strategy to accomplish these key techniques,and gives out the related examples.
Keywords:streaming media;network course;resource integration;SMIL
1 引 言
随着网络技术的快速发展和校园网的普及,网络化教学作为一种高效新型的教学模式,越来越受到重视。网络课程是网络教学的基本要素和重要资源,是指通过网络表现的某门学科的教学内容及实施的教学活动的总和,包括按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境。网络课程给人们提供便捷的学习机会,使学习活动更加自主化、个性化,学习者可以选择适合自己的学习时间、地点、方式、进度,用浏览器播放教学内容,在教学形式上既可以实时学习,也可以使学习者进行非实时的自主或协同学习,还可以实现师生之间的直接对话交流,形成一个开放和交互的远程教育环境。对于创新教学模式,提高教学效果,培养学生良好的学习习惯和学习能力等有着重要的积极意义。
网络课程的开发需要相关的技术支撑,流媒体技术和理论的日趋成熟,为网络课程的开发和实施提供了强有力的技术基础。基于流媒体技术的网络课程,能高效、便捷地进行网上实时和远程教学,并能确保音视频播放流畅,有良好的同步效果。
基于流媒体的网络课程的开发实质上是运用网络课程开发工具,把课程素材转换为流媒体形式的文本、音频 、视频、动画等,并按课程教学要求,集成为课程的流媒体课件或教学节目,再通过Web。目前网络流媒体平台主要有Realnetworks公司的Realsystem、微软公司的Windows Media和苹果公司的QuickTime。Realsystem优良的性能使得用户数量上处于领先地位,Realsystem的文件格式主要有rm(流式音视频)、ra(流式音频)、rp(流式图像)、rt(流式文本)。网络课程开发涉及许多技术问题,其中流媒体教学素材的集成是最关键的技术,利用SMIL同步集成多媒体语言,可以将Internet上不同位置的媒体文件关联到一起。本文依据Realsystem流媒体开发平台,研究网络课程开发过程中流媒体教学素材集成及其关键技术。
2 同步多媒体集成语言SMIL简介
世界W3C协会(World Wide Web Consortium)于1998年6月开始推广一种和HTML具有相同结构的标记语言:同步多媒体集成语言(Synchronized Multimedia Integration Language,SMIL)。这是一种简单而有效的关联性标记语言,它可以将Internet上不同位置的媒体文件通过它们的URL关联起来,形成多媒体文件。在播放时,播放器会自动从它们的存放位置进行调用,并按文件中设置的播放顺序和位置等属性,将这些文件集成到同一窗口播放。实际上SMIL文件仅是一个关联文件,并不包含真正的媒体内容。SMIL支持的媒体格式有静止图片文件、RealPix,RealText、动画、音频、视频等。目前支持SMIL文件的播放器主要有RealPlayer,QuickTime等,用户浏览器端只要安装RealPlayer或QuickTime的相应的插件,也可以播放SMIL文件。
SMIL文件是纯文本文件,其文件扩展名为“.smil”或“.smi”。整个文件以<smil>开始,</smil>结束,其中包含由<head></head>标记定义的头部以及由<body></body>标记定义的正文部份。在SMIL文件的正文部分,用媒体标记将媒体文件引入SMIL文件中。下面代码关联一个流服务器上的流式音频文件sound1.rm。
<body>
<audio src=”rtsp://:554/audio/sound1.rm”/>
</body>
3 流媒体素材集成的关键技术
在网络课程中,通常需要把音频、视频、演示文稿、图片等教学信息按一定的组合同时或顺序播放,构成一个情景交融的多媒体教学环境,让学习者可以在一个动态的交互性的学习环境中学习。在网络课程中,可以按照课程教学策略、教学目标,组织多媒体内容,设置组合后的播放布局和播放方式。实现流媒体集成的关键技术主要包括关联媒体文件、设置媒体的组合方式、规划时间线、设置播放布局等。
(1) 关联媒体文件。在SMIL文件的正文部分,用媒体标记将相关媒体文件引入SMIL文件中,同时通过设置标记属性,描述媒体文件的文件格式和所处的位置,以及媒体文件在SMIL文件中的其他行为。常用的媒体标记有<animation../>,<textstream../>,<img../>,<audio../>,<video../>等,分别用于关联动画文件、流式文本文件、图像文件、音频文件和视频文件等。下面代码关联一个流服务器上的流式视频文件class1.rm。
<video src=”rtsp://:554/video/class1.rm”/>
(2) 媒体的组合播放及带宽分配策略。在流媒体网络课程中,有些媒体文件是紧密联系的,如在播放演示文稿时,要同步配音,或在播放视频时要显示相应的文稿和图片等。这就要将媒体文件进行组合播放。在SMIL中,可以用<seq>和</seq>组合标记实现媒体文件的顺序播放,用<par>和</par>标记实现媒体文件的同步播放,同时两种组合标记还可以进行嵌套组合。如下面的代码实现了4个流媒体文件的组合。
<par endsync="last" >
<ref src="graph/pic1.rp" region="graphregion" />
<seq>
<textstream src="text/word1.rt" region="textregion" />
<video src="videos/vid1.rm" begin="20s" region="videoregion" />
</seq>
</par>
<video src="videos/vid2.rm" region="videoregion" />
在默认情况下,同步组合的播放结束要等到其所包含的所有媒体对象播放结束之后。要改变这种情况,可以通过设置<par>标记的end属性规定同步组合的绝对时间,也可以通过<par>标记的endsync属性设置同步组合的播放结束与某一个媒体对象结合起来。endsync属性的默认值为“last”,表示当组合中持续时间最长的那个媒体对象播放结束时,整个同步组合播放结束。当endsync属性为“first”时,表示当组合中持续时间最短的那个媒体对象播放结束时,整个同步组合播放结束。如果要指定当某个媒体对象结束时,整个同步组合播放结束,则可设置endsync属性为“id(相应媒体对象的id值)”。
必须注意,在媒体服务器每一个流媒体文件时,都会占用一定的传输带宽。这个带宽的具体数值是在创建媒体文件时预先设定好的,同步播放组合时所占用的传输带宽,就是组合中所有媒体文件的传输带宽的总和。为了保证同步效果以及整个多媒体文件传输顺利和播放平滑,这个带宽的总和不应该超过用户和服务器连接的最大传输带宽,否则就会产生带宽“瓶颈”。这种“瓶颈”通常出现在两个或多个高带宽消耗的媒体文件同步播放时。因此,在组合同步播放文件时,要尽量将高带宽文件和低带宽文件组合在一起。在流媒体播放的开始阶段,先播放低带宽的媒体文件,如RealText文件和压缩程度较高的Real音频文件,这样在它们播放的同时,播放器可以利用多余的网络带宽预先传送后面将要播放的高带宽消耗的数据。这种“幕后传输”的播放组合方式,可以使用户端的播放器预先存储足够多的数据以保证后续播放的平滑性。
(3) 规划SMIL文件的时间线。所谓流媒体的时间线就是这个媒体文件的播放时间计划。比如,一个流式视频文件播放长度为3 min,这个视频文件的时间线就是3 min。流式音频、视频和动画文件都具有内部时间线,在媒体文件建立时,生成软件就将其内部时间线结合到文件的结构中去,这些文件的时间线不能再修改,除非重新改变文件的结构。RealText和RealPix文件的时间线是通过标记语言建立的,可以随时修改。在组合流媒体时,一般先建立音频、视频和动画文件,然后建立RealText和RealPix文件的时间线,使之与这些文件匹配。
当多个媒体文件组合时,各个媒体文件的时间线以及它们在多媒体文件中播放的计划又组成了整个多媒体节目的时间线。合理计划流媒体的时间线可以有助于合理使用用户的连接带宽,避免播放迟滞和“再预置”现象的出现。SMIL语言通过时间标记元素建立和改变SMIL文件的时间线。如通过begin和end属性设置媒体播放的开始、结束时间及前后播放的间隔时间,通过clipbegin和clipend属性可以播放连续性媒体文件内部的一个片段,还可以通过dur属性设置播放的持续时间等。下面代码是一个比较合理的流媒体时间线设计的例子。
<par>
<seq>
<par> <! -- 文件组1-->
<ref src="graph/ image.rp" region="graphregion" />
<seq>
<textstream src="text/ text.rt" region="textregion" />
<video src="videos/video1.rm" begin="20s" region="videoregion" />
</seq>
</par>
<! -- 文件组2-->
<video src="videos/video2.rm"region="videoregion" />
</seq>
</par>
上述代码所对应的时间线效果如图1所示。
在文件组1中,首先播放的是image.rp文件和text.rt文件,由于text.rt文件的带宽消耗很小,使image.rp文件有充足的带宽来传输数据。当video1.rm视频文件开始播放时,image.rp文件的数据已经传输结束,这时的带宽全部可以为视频文件video1.rm所占用。虽然文件组1和文件组2按顺序播放,但最外层的组合会平衡组合中的媒体文件的带宽消耗,当文件组1开始播放之后,存在多余带宽,它就会开始传送文件组2的数据,这样就可以最大程度地掩盖文件组2的预置过程,使得整个SMIL文件的播放不出现停顿而显得平滑。
(4) 设置媒体播放的窗口布局。在流媒体课件中,除了声音文件外,其他的媒体内容通常需要不同的播放区域。在SMIL文件的头部,通过<layout>和</layout>标记设置窗口布局;在这个layout标记群内,通过<root-layout/>标记定义底层区域,即播放器的主窗口的大小;在定义了底层区域后,再通过<region/>标记定义每一个播放区域的大小和位置。在SMIL文件的正文部分,通过定义相关标记的region属性,在各播放区域中放置相应的可视媒体对象。下面的代码中定义了二个区域分别播放视频和流式文本。
<smil>
<head>
<layout>
<root-layout width="500" height="100" />
<region id="textregion" top="0" left="0" width="200" height="100" />
<region id="videoregion" top="0" left="200" width="300" height="100" />
</layout>
</head>
<body>
<par>
<textstream src="T5_1.rt"region="textregion" />
<video src="V5-1.rm"region="videoregion" />
<audio src="A5-1.rm" />
</par>
</body>
</smil>
在复杂的流媒体播放应用中,可能需要建立动态或重叠的播放区域,这可以通过SMIL的<region>标记的zindex参数实现。zindex参数的值越大,播放区域就越处于播放窗口的前方。SMIL文件中所定义的播放区域,只要不定义其背景色,在默认状态下是透明的。对于最上层播放区域,如果有媒体文件在其中播放,下面各层的区域就被覆盖。如果区域中没有媒体文件的播放,它就处于透明状态,下层中正在播放媒体文件的区域就被显示。如果所有区域中都没有正在播放的内容,所有的区域都处于透明状态,播放器窗口就显示SMIL文件中<rootlayout>定义的底层区域,它总是位于所有播放层的最底层。下面的代码定义了2层区域,并实现播放区域的动态转换。
<smil>
<head>
<layout>
<root-layout width="400" height="360" />
<! C 第一层:左右排列的区域 -- >
<region id="left" top="10" left="10" width="185" height="340" z-index="1" />
<region id="right" top="10" left="205" width="185" height="340" z-index="1"/>
<! C 第二层:上下排列的区域,重叠于第一层前方 -- >
<region id="top" top="10" left="10" width="380" height="165" z-index="2" />
<region id="bottom" top="185" left="10" width="380" height="165" z-index="2"/>
</layout>
</head>
<body>
<par>
<seq>
<par> <! -- 文件组1:左右排列 -- >
<ref src="title.rp" region="left" fill="remove" />
<textstream src="words.rt" region="right"
fill="remove" />
</par>
<par> <! -- 文件组2:上下排列 -- >
<video src="film.rm" region="top" />
<textstream src="text.rt" region="bottom " />
</par>
</seq>
</par>
</body>
</smil>
上述代码定义了2个显示层,每层定义了2个区域,显然,“top”和“bottom”区域位于“left”和“right”窗口的前方。尽管这些区域都是在SMIL播放的一开始就建好的,但是通过zindex,fill=“remove”以及区域默认的透明背景色,给用户的感觉就是播放区域是在媒体文件开始播放时动态建立的。
4 结 语
流媒体运用特殊的数据压缩和传输技术,可以使得声音和视频文件变得很小,通常只有WAV和AVI文件的3%~5%。因此,基于流媒体的网络课程,能确保课程中音频、视频、演示文稿、图片等资源在网络上快速连续平滑的传输。利用SMIL同步集成多媒体语言,可以将网络课程资源进行有效的关联组合。本文针对基于流媒体的网络课程开发,从技术层面详细介绍了在网络课程流式资源集成过程中,按照课程教学策略、教学目标和多媒体教学环境要求,实现流媒体的组合、规划时间线、设置播放布局等关键技术。只有很好地解决这些关键技术,才能确保音频、视频播放流畅,音频与视频图像有良好的同步,产生良好的视觉效果,使得网络课程能高效、便捷地进行网上实时和远程教学,构成一个情景交融的多媒体教学环境。
参 考 文 献
[1]孙力,钱维莹.流媒体技术与创作[M].北京:中国青年出版社,2002.
[2]张丽.流媒体技术大全[M].北京:中国青年出版社,2001.
[3]Synchronized Multimedia Integration Language (SMIL) 1.0 Specification.W3C Recommendation 15-June-1998 ,/TR/REC-smil/.
[4]/.
[5]陈鹏.远程教育与网络课程系统的研究与设计\.现代电子技术,2006,29(24) :101102,105.
篇8
【关键词】流媒体;视频会议;移动终端;系统分析;
随着我国的科学技术不断进步,计算机与网络通讯技术也在进行着飞速的发展。人们不再满足于诸如传真、电话、以及电子邮箱等多种传统的文字及语音传播通信方式,希望找到一种集语音、文字、图像等多种信息传播于一体的新型多媒体通信方式。流媒体视频会议移动终端由此应运而生。
一、 流媒体与视频会议
(一)流媒体
流媒体,又称流式媒体,是多媒体中的一种,是一项可以将数据传输与媒体播放同步进行的媒体。主要指的是利用流式传输在互联网或企业内部网中播放的媒体格式。商家可以使用视频传送服务器将电视节目打包成数据包,并传送至网络上。用户在利用解压设备将网络上的数据包解压,节目就会以发送前的样子显示出来。使用流媒体播放,不需要将文件整个下载,只需要十秒至几十秒的时间进行启动延时就可以利用解压设备将这些压缩文件解压播放,剩余文件则可以继续在后台同步下载。流媒体播放相较于普通下载,极大的缩短了启动延时,而且还降低了系统缓存容量需求,提高了用户观看效率。
(二) 视频会议
视频会议,指的是处于两个或多个地区的人,利用通信设备及网络传输,进行面对面交流的会议。通常情况下,根据参加会议的地点数目不同,视频会议又可以分为点对点和多点会议两种。日常生活的个人对话,由于对谈话内容的安全性、谈话质量以及谈话规模没有较高的需求,所以一些常用的如QQ视频等视频软件就可以进行简单的视频聊天。但像企事业单位、政府机关等商务视频会议,对于网络、会议质量、会议环境等条件就有较高的要求,这就需要采用一些十分专业的视频会议技术及设备,来构建专业的商务视频会议系统。而且由于视频会议系统的运行显示需要使用电视,因此也被称作视讯会议、电视会议等。利用视频会议系统,可以让参加会议的人员听到其余会场的声音、看到其余会场的现场情况,还可以同步共享一些电子演示内容,减少了地域限制,大大提高了会议质量与工作效率。
二、 流媒体视频会议移动终端
(一)硬件构架
视频一般包括了视频会议服务器(一般为MCU多点控制器)、视频会议终端(包括了电脑桌面型硬件终端、软件视频会议终端、会议室型硬件终端等)、网关(Gateway)、网闸(Gatekeeper)等多个部分。其具体硬件结构如图1所示。
(二)视频会议模式
1.点对点的会议模式
该模式主要应用于企业领导间的远程视频会议,如分部领导向总部汇报工作等,还有各分部领导的交流,如通报某个重要活动的情况等。
2. 多组多点的会议模式
该模式可以满足多个会议同时召开的需求,可以同时举行多个远程视频会议。可以应用于不同会议现场的相互交流,如远程培训课程,各片区领导决策会议等。
3. 图文的会议模式
利用该模式,可以完成不同会议现场的图文交流,如主会场可以对各分会场进行PC内容演示,各分会场也可以对主会场做详细的工作汇报等。
(三) 流媒体视频会议移动终端的优势
1. 设计标准化
该系统符合ITU-T的H.323国际标准,系统所用硬件视频设备均是满足国际统一标准,所有厂家的产品都可以互通使用,系统兼容性及拓展性极佳,有利于用户今后对系统扩容,减少重复建设带来的损失。
2. 稳定性强
该系统所有硬件设备都建立于嵌入式硬件平台之上,可以满足24x7的连续待机工作,稳定性极强,而且一般情况下,会议中不会出现死机等故障。
3. 安全性高
该系统使用嵌入式操作系统,系统软件固化,可以有效抵御其他程序的攻击,尤其是系统的抗病毒能力极强,保证了会议的安全性。
4. 操作简便
有专业的硬件管理系统,维护十分简单,操作也极其简便。使用时,只需要进行简单的设备开关机即可,不需要专门的IT人员,使得会议操作更加高效。
5. 容量大
该系统可以满足多人视频会议的需要,即既支持各主会场与分会场间的会议交流,也能实现移动会场的通信。
6.视频质量优异
系统通过ATM和IP的灵活结合,解决了传统IP网视频质量不佳的问题,不仅是丢包等参数,还是时延抖动上都可以满足用户的需求。视频音质也十分连续清晰、视频图像没有马赛克和模糊不清的情况,活动图像也较为连续。而且由于全网设备选型都较为统一,都是整网设计,设备也均是国际领先,加之主设备和世界各大主要运营商都兼容,因此系统具有较高的互通性,能实现省内以及省际的高质量视频会议。
7. 节约成本
较之自行组建的会议电视专网,使用视频会议移动终端不需要再行投资购买MCU交换设备,也不需要定期维护会议电视承载网和MCU,更不需要花费资金进行网络升级,极大程度的节约了视频成本。
三、 总结
综上所述,利用流媒体视频会议移动终端,可以满足多人同时视频通讯,让人们可以突破地域限制实现面对面交流以及同步PC内容共享。不仅可以节约电话费,减少出差旅行带来的交通环境污染以及业务开支,还可以提高企业政策传达速度及会议效率。因此只有不断完善流媒体视频会议移动终端技术,将视频会议技术应用到人民生产生活的方方面面,才能促进我国信息通信科技发展,加速我国经济建设。
参考文献:
[1]高磊.一种基于流媒体技术的视频会议直播系统[D].2004.
[2]刘君.关于视频会议流媒体录播技术的研究[J].科技与生活,2010,(22)
[3]崔学敬.基于流媒体技术的视频会议系统的原理和实现方法[D].2004.
[4]胡萍.基于流媒体视频会议移动终端的系统研究[D].2014.
篇9
【关键字】SMIL,SMIL时间线,组合媒体元素
1、概述
SMIL为同步多媒体集成语言,发音为"smile",它遵循W3C标准使用XML语言编写的类似HTML语言,它易于学习和理解,可以使用文本编辑器编写SMIL程序达到展示音频视频信息目的。自从1997年,W3C一直把SMIL作为一门用于精细编制多媒体呈现的语言来发展,以此实时地组合视频、音频、文本以及图形。在1997年11月SMIL作为工作草案被提交。SMIL 1.0在1998年6月成为W3C标准,SMIL 2.0在2001年8月被确立为W3C标准。
2、SMIL语言的应用范围
SMIL可用于创建因特网和内联网程序,可以用于创建在Internet上幻灯片放映呈现;SMIL具有展示多种文件类型(文本、视频、音频)和多个文件的能力,文件可以实现分布式存放,同进SMIL文件可以嵌套,文件中可以包括控制按钮;SMIL语言可以定义元素序列和持续时间,方便动态编辑,SMIL语言还可以定义元素的位置及元素的可见性。由以上的说明可以得出SMIL语言上应用范围很广的一种标识语言,我们可以将它用于所有信息展示功能需求的场所。本文所研究的如何更好的应用于教学,经过调查研究,发现现在网络上的教学课件大部分都是由单一的信息元素所组成,而单一信息元素本身就不是一个完整的信息传递方式,所以我们可以利用SMIL语言的可以展示多种文件类型和多个文件能力的来完成一个InterNet网络课件的制作,来更好的实现网络课程优越性。同时本该利用SMIL语言特点可以确定一个有固定界面的可以展示教学的授课音视频、教学版书、以及教案和课程体系风格统一可以在Internet上的网络课程。
3、SIML文件
SMIL文件用于描述多媒体呈现,文件中包含了描述多媒体程序所需要的所有信息(包括呈现的布局、呈现的时间线、多媒体元素的源),以SMIL主文件扩展名的统一纯文本文件,可以使用专门的播放器进行播放,也可以使用IE浏览器播放。
4、SMIL语言标记
4.1文件结构
SMIL文档必须以标签开始,并以标签结束。它可包含一个元素,且必须包含一个元素。元素用于存储有关呈现布局的信息,以及其他的元信息,包含媒介元素。
4.2 SMIL时间线
SMIL文件应该具有一个播放时间的顺序表。规定一个所关联的媒体对象或是媒体文件组合在什么时间播放,播放多长时间。这个所谓的时间顺序表就被称为SMIL文件的时间线。
4.3关联媒体文件
可使用媒介元素在SMIL文档中包括媒介对象,是通过文件正文部分中的媒体标记来实现的。媒体标记的作用就是将媒体文件引入SMIL文件中,通过对该类标记各个属性的设置,来描述媒体文件的文件格式和所处的位置,以及媒体文件在SMIL文件中的其他行为。媒体文件分为有内部时间线的连续媒体与不具有内部时间线的离散媒体。
4.4组合媒体元素
有了关联各媒体文件的媒体标记,在SMIL文件中就有了可以播放的媒体对象。SMIL最主要的功能就是可以把多个媒体对象组合在一起,形成多媒体文件组。在文件组中,可以设置整个组合的播放行为和组合中各文件之间的播放顺序。这个强大而实用的功能是通过SMIL文件正文部分中的组合标记,和
4.5转换标记
Transition转换标记是SMIL 2.0中的新特性。Transition不属于SMIL 1.0规范的组成部分。Internet Explorer 6支持基于SMIL 2.0规范的Transition。Transition由元素实现,其中type属性定义transition滤镜的类型、begin属性定义何时开始。
4.6布局标记
如果在SMIL文件中,一次只播放一个不限制大小可视媒体对象,就没有必要去设置播放区域,因为每一个媒体对象都会在媒体播放器的主窗口中被播放,每当调入一个新的媒体文件时,媒体播放器的主窗口都自动调整到媒体对象自身的窗口大小。如果想使媒体播放器的主窗口在播放不同的媒体对象时都保持同样的大小,或者在同一时间内要同时播放多个可视媒体对象,那就必须通过SMIL文件窗口布局的设置来定义媒体播放器的主窗口的大小以及各播放区域的大小和位置,并在各播放区域中放置相应的媒体对象。
5、结束语
随着日益兴起的网络多媒体应用关键技术的日渐成熟,正受到越来越多的关注。尤其是随着基础网络的普及,因此对多媒体技术的研究有着非常广阔的前景。本文在介绍SMIL语言的基础上用实例讲述流媒体课件的制作方法、流程以及制作步骤。如果对本例进行简单的改动就可以应用动实时转播、彩信等行业。
参考文献:
[1] .cn/smil/index.asp
篇10
自流媒体技术问世以来,普遍应用于视音频管理领域。随着各级各类教育门户、社区的建立,流媒体技术在教育领域的应用也普及起来。利用流媒体技术构建网络课程点播系统,不仅是对“十一五”“十二五”计划中网络课程建设的一次实践,也为更多的学生提供了帮助。
2 流媒体架设软件介绍
随着流媒体技术的蓬勃发展,国际市场一度出现了“百家争鸣”的局面。由于主流流媒体平台大多用于大型局域网视音频管理系统中,它架设复杂困难、使用维护费用较高,对中小型的局域网并不适用。为解决此问题,流媒体VOD软件应运而生。本文以美萍VOD点播系统软件为例进行介绍。
2.1 美萍VOD点播系统软件概述
美萍VOD点播系统软件具有高效服务器引擎,采用多线程、多并发流处理技术。客户端支持Web界面点播和应用程序界面点播两种形式。支持目前几乎所有流行媒体格式的播放,广泛用于学校视音频资料管理中。
2.2 美萍VOD点播系统软件主要功能
1)文件管理功能。它不仅对视音频提供流媒体文件管理与点播服务,对于图片、文字等格式的文件同样可以实现管理与点播。管理员可以对资源添加描述、封皮、资源评分,对不同类型的文件进行分类保存后,客户便可以进行点播。
2)支持两种流媒体播放形式。该系统不仅支持后的Web页面流媒体播放,同时支持本地流媒体播放器对流媒体文件进行播放。通过“客户端使用Web界面即网页内嵌播放器播放”选项即可完成切换。
3)提供两种点播形式:一种是管理员将服务器端文件后,通过“http://本机IP地址:6666”登录到局域网内的美萍VOD点播系统网页上实现点播;另一种是在客户机上安装客户端应用程序,启动后呈现与服务器端相同的文件管理界面自主点播,但客户端没有对资源进行修改的权限。
4)提供留言功能。该系统支持用户网上留言和客户端留言两种留言方式。服务器端通过留言管理模块对用户留言进行管理。
3 基于美萍VOD点播系统的网络课程设计与实现
3.1 选择美萍VOD点播系统构建网络课程理由
1)该软件比较适合在中小型局域网中使用。
2)该软件有很多免费开源版本,所提供的服务能很好地满足中小型网络课程的需求。
3)该软件操作配置相对简单,对于具有一定信息技术基础的中小学教师来说很适合。
3.2 网络课程设计
1)网络课程取材与设计。以人民教育出版社出版的高一物理必修1的第四章“牛顿运动定律”为例。取材此内容的原因有:①物理学科比较抽象,仅凭课上教师讲授不易彻底消化,通过网络课程进行二次学习有必要;②物理学科涉及的实验较多,通过网络课程对实验进行反复观看摸索,有助于理解;③物理是一门应用性很强的学科,系统的总结和练习题必不可少。通过网络课程平台可以将更多更有效的学习资源共享。
2)网络课程实现。
①资源搜索与整合。在视频方面,将视频导入友立会声会影X3编辑器(也可选用其他编辑器)进行编辑,将重点、难点等利用文字标注功能标记,对视频进行基本的剪辑和修饰。将多个视频通过转场、添加字幕等功能整合成一个视频并导出。
②将视频转换成流媒体格式。使用Helix Producer basic 9.0流媒体编码器(也可选用其他流媒体转换工具)对视频文件进行格式转换。
③将资源添加到美萍VOD点播系统中。在服务器端新建高中物理子类,将资源逐一添加。添加过程中可为资源添加项目简介、等级评分等。服务器端添加资料情况如图1所示。
④客户端可通过两种方式访问服务器端资源。一种是通过网页形式,一种通过客户端应用程序。通过网页形式访问网络课程如图2所示。通过客户端应用程序访问效果图与图1一致,但客户端没有权限对资源进行修改。
⑤留言功能使用。学生在客户端留言,管理员在服务器端可以查看客户留言的详细情况。通过电话、邮件、聊天等手段对客户端留言进行回复。
4 利用美萍VOD点播系统构建网络课程的不足之处及建议
4.1 利用美萍VOD点播系统构建网络课程的不足之处
1)缺少自带的流媒体编码器。该系统虽然能够实现流媒体视频文件的,但所的视频都是通过其他的流媒体编码器处理后得来的,缺少与之配套的编码器。这就使得对视频的编辑需要借助第三方软件,使网络课程的建设缺少一定的连贯性。
2)缺少同步交互功能,无法实现实时交流。该系统虽然提供了用户留言功能,但它是非实时性的,只能在留言信息中填写上自己的邮箱或电话,通过脱离该系统的其他手段如发送邮件、聊天等进行回复,无法实现实时交流。
3)计时系统有待完善,无法计算用户学习时间。该系统仅能记录客户进入资源的初始时间,无法记录客户退出时间,因而无法计算用户学习时间。网络课程学习中,教师需要对学生的使用情况进行统计,把握学习时间很必要。
4.2 针对系统不足提出的建议
1)设计流媒体编码器插件。目前成形的视频转换工具很多,如狸窝多功能视频转换器、格式工厂等。可以对其转换机制进行分析,将软件转换成插件嵌入到该系统中。或利用一些网站开放API功能,将支持在线转换的网站链接到系统中,从而实现视频资源编辑的一体化。
2)为系统增加在线聊天功能。美萍VOD点播系统需要研发或整合一款嵌入网页的聊天工具,从而实现在线用户的实时交流与讨论。
3)增加进入与离开学习资源的计时功能。为学习资源增添访问计时功能,可以通过编写脚本语言,设置按钮对象的计时动作,对该动作进行监听来掌握用户的学习时间。在基础教育网络课程中,教师需要动态把握学生的学习情况,学习时间是其中一项重要参考指标。
5 基于流媒体技术的网络课程点播系统发展趋势
当今的教育环境下,网络课程应用于各级各类的网校、高等学府开放教育资源平台中。为更有效地将网络课程资源充分利用,与新媒体技术相结合的网络课程点播系统建设成为主流发展趋势。
5.1 基于流媒体技术的网络课程点播系统在云计算中的应用
基于流媒体技术的VOD点播系统是将所有的P2P节点由统一的中心服务器管理。随着P2P网络增大,中心服务器有可能出现带宽不足的瓶颈。由于服务器端内存容量限制,内存占用率加大,系统的运行速度便会降低。近年来兴起的云计算拥有超强的运算能力和海量存储空间,具有良好的扩展性、可控性和安全性。将云计算与流媒体技术相结合构建网络课程点播系统,可以有效解决数据空间不足以及带宽瓶颈问题。提出云计算环境下能完成高数据量的流媒体视频传输模型对推广流媒体与云计算的整合有一定的积极作用。
5.2 基于流媒体技术的网络课程点播系统在移动学习环境中的应用
随着移动设备的兴起,将基于流媒体技术的网络课程点播系统迁移到移动学习环境中,对泛在学习的推行大有裨益。通过将网络课程点播系统制作成APP安装在移动设备中,能够满足学习者移动学习的需求。基于移动设备的APP网络课程,对于推动网校多元建设、贯彻“电子书包进课堂”精神等都有积极作用。由于目前3G网络建设仍在进行中,网络数据连接问题、流量使用问题仍是流媒体技术与移动学习相结合中的难点。提出在移动学习环境中能够有效节省数据流量并保证流媒体视频流畅播放的方案仍是研究重点。
6 结束语
在“国家精品课程”“建设开放学习资源”的号召下,基于流媒体技术的网络课程点播系统的应用达到新。长期以来,很多教育工作者致力于基于流媒体技术的网络课程点播系统的研发及完善中。在国家相关教育政策的指引下,在新媒体新技术的支持下,基于流媒体技术的网络课程点播系统将得到更好的完善及推广,为更多学习者提供指导和帮助。
参考文献
[1]钟小平.网络服务器配置完全手册[M].北京:人民邮电出版社,2006.
[2]陈娟.基于流媒体技术的远程教育系统设计研究[J].网友世界,2013(4):
21-23.
[3]杨辉.校园网VOD视频点播系统的构建[J].科教文汇,2013(3):44-45.