|
摘要 流媒体技术的出现为Internet带来了新的生机,它弥补了计算机网络的视频、音频方面的不足,并且流媒体同步技术的解决了视频/音频与电子讲稿的同步问题,为网络多媒体教学提供了又一种全新的模式。本文结合流媒体课件《数据结构与算法》具体开发实践,就基于SMIL的网络流媒体课件方案构建模式及技术实现方法与流程进行探讨,以期对此类课件开发提供一些启示。
关键词 流媒体;同步多媒体集成语言SMIL;课件
1 绪论Internet网络作为目前最具发展潜力的教育资源,对于实现教育社会化与大众化,具有十分深远的社会价值,自Internet网络诞生之初到现在,教育工作者就不断尝试与之结合,从最早的HTML的网页教程到动态教学网站,从传统教学模式到网络个性化教学模式,从二维平面到三维立体资源,教育与网络之间结合的优化探索始终没有停止。 随着Internet网络带宽的不断增长,网络应用的广度与深度不断扩大,基于流媒体(stream media)传输的网络多媒体应用得到了迅速的发展,多媒体数据的Internet网络传输技术自然成为Internet网络研究和开发的热点。目前,网络上传播多媒体信息主要有两种方式:下载和流式传输。下载方式是传统的传输方式,在播放之前,用户下载多媒体文件至本地,通常这类文件容量较大,依据目前的网络带宽条件,需要较长时间,并且对本地的存储容量也有一定的要求,这就限制了PDA等低存储容量设备的使用。流式传输则把多媒体信息通过服务器向用户实时地提供,采用这种方式时,用户不必等到整个文件全部下载完毕,而只需经过几秒或几十秒的启动时延即可播放。之后,客户端边接收数据边播放。与下载方式相比, 流式传输具有显著的优点:一方面大大地缩短了启动延时,同时也降低了对缓存容量的需求;另一方面,又可以实现现场直播形式的实时数据传输,这是下载等方式无法实现的,同时有助于保护多媒体数据的著作权。 然而,对于基于流媒体的多媒体应用中,同于存在有文字、图片、动画、视频等多种媒体形式的存在,因此,视频流和其它形式的媒体流的同步就是要解决的重要问题之一。例如对于用于远程教学的网络教学课件来说,描述学习内容的幻灯片就必须要和教师授课的音频或视频流同步,才能达到正常的教学效果。 为实现网络多媒体的同步及实时传输功能,同步多媒体集成语言(SMIL:Synchronized Multimedia Integration Language)提供了全面的选择。SMIL本身是由3W(World Wide Web Consortium)组织规定的多媒体操纵语言,可以实现多个流和文本信息在播放时的时间同步控制和空间位置布置。通过SMIL还可以实现一定的用户交互功能。2 SMIL基础SMIL通常称作同步多媒体集成语言,属于扩展型标记语言的范畴,是Internet上用于集成多媒体节目尤其是流媒体的主要语言工具。SMIL是纯文本类型的语言,使用SMIL编写的多媒体文件也是标准的纯文本文件,可以用任何文本编辑器,例如WINDOWS的“记事本”程序打开它,查看其中的SMIL源代码,以及进行相应的编辑。 SMIL标记语言可以设置组合后的播放布局、播放文件、播放时间以及播放顺序和播放方式等等。和HIML文件一样,SMIL文件也是解释型的,播放器载入SMIL文件后,读取其中的源代码,分析其语法结构,然后根据解释的结果播放各媒体文件。 SMIL语言和其他多媒体集成工具相比,突出的优势包含以下七个方面: ⑴ 由于流媒体服务器可以发布多种流媒体格式,如音频、视频、文字及图片等,SMIL文件只是将各种媒体文件关联起来,而并没有将它们融为一体。当想要重新组合生成新的多媒体节目时,只需重新编辑SMIL文件而无需对各媒体文件做任何改变; ⑵ 由于SMIL为每一个关联的媒体文件都列出了一个独立的URL地址,在编制多媒体节目时,可以使用存放在网络中任何一台服务器上的媒体文件。这有利于网络服务器的分类和有效使用。比如,可以将一段存放在Real服务器上的视频文件和一个存 放在Web服务器上的RealText文件组合在一起; ⑶ SMIL语言可以很方便地建立和控制多媒体节目以及各关联文件的时间线。对于具有内部时间线的媒体文件,比如音频和视频文件,可以运用SMIL选择播放其中的一个或几个片断。比如,对于一个30分钟的视频文件,可以播放其从10分钟到15分钟的片断;在节目的其他地方甚至在其他节目中再播放视频文件的其他片断,而不需要对该视频文件本身做任何变动; ⑷ 当多媒体节目中含有多个同时播放的可视媒体对象时,比如,播放一段视频,需要同时显示相关文字说明以及相关图片,运用SMIL可以精确安排整个窗口的播放布局,使得各媒体相得益彰,用户一目了然,充分体现网络多媒体的丰富效果; ⑸ 运用SMIL可以使用户端的播放器选择播放不同语言的同一媒体内容。比如,制作一段有配音解说的视频文件; ⑹ 运用SMIL可以为不同的传输带宽列出不同的媒体文件。用户端的媒体播放器会根据其各自的传输带宽选择载入相应的文件来播放。这样通过一个链接就实现了支持多带宽连接,而不必再为不同的网络用户,如Modem用户、ISDN用户和LAN用户,分别设置不同的带宽链接; ⑺ 由于SMIL文件是纯文本文件,使用文本编辑器可以很方便地对其进行修改。因此可以根据用户浏览器中的设置,创作不同风格的SMIL文件,为不同的用户提供不同风格的多媒体节目。 SMIL的语法非常简单,它采用了简捷明了的语法命令,通过对各种标记、元素、属性等的设置建立与文本、图片、声音、视频等多媒体信息的关联以及播放的各种设置。以下是一个最简单的SMIL文件的源代码,它设置了Real服务器上的3个声音文件的顺序播放。 <smil> <body> <audio src="rtsp://realserver.example.com/examplel.rm"/> <audio src="rtsp://realserver.example.com/example2.rm"/> <audio src="rtsp://realserver.example.com/example3.rm"/> </body> </smil> 一般说来,SMIL具有以下一些常用的语法规则: ⑴ 整个文件以<smil>开始,以</smil>结束。 ⑵ 和HTML文件一样,SMIL文件由<head>和</head>标记定义的头部以及由<body>和</body>标记定义的正文两部分组成,正文部分是必需的,头部则是可选的。SMIL文件的头部除了和HTML文件一样,包含了文件的标题、作者、版权等通用信息外,还包含了对播放布局的设置。 ⑶ SMIL所有的标记、元素和属性,除了表示关联媒体文件的路径和名称外,都必须以小写字母来表示,这一点与HTML有很大的不同。 ⑷ 所有的标记都是封装类型的,但并不是所有的标记都是成对出现的。有的标记通过“/”来表示结束。如:<audio src="rtsp://realserver.example.com/one.rm" /> ⑸ 所有的属性值都必须封闭在双引号“”内。表示文件路径和名称的属性值可以用大写、小写或者大小写混合来表示,必须和文件的实际情况完全一致。 ⑹ SMIL文件是纯文本,你可以使用任何文本编辑软件建立一个SMIL文件,完成编辑后,将输出文件设为纯文本格式,文件的后缀名为“.smil”或“.smi"。一般使用“.smil"以避免和其他文件类型冲突。文件名中不可含有空格。 ⑺ 用头部标记描述文件信息时,需要用代码来表示诸如引号、&、括号、撇号等特殊符号,以保证这些符号在媒体播放器中能正确显示。3 流媒体课件方案设计
对于流媒体课件开发,首先,作为基本的多媒体课件,它的系统开发方案如上图所示:
1)确定一个课题,即确定课件要实现的目标,并写出多媒体课件的内容脚本;对于SMIL来说,还应特别考虑的两个网络带宽和播放器的选择。网络带宽选择是由播放器根据网速来自动选择的,但如果设计的SMIL文件不合理时,也可能产生严重的带宽占用,影响播放效果。比如媒体文件切换的时间间隔很短或者同时有过多的流传输时,就会导致带宽竞争,缓冲不足,干扰正常的播放。因此在设计SMIL时,要充分考虑本论文所能用到的带宽,常使用512K的高清度的视频流媒体作为视频源,44K的FM级音频流媒体做为本论文的音频源。另外,尽管SMIL支持的媒体播放器比较广泛,但在实际开发中,由于基于各个播放器的SMIL代码有所差异,因此必须选择一种具体的播放器来实现流媒体课件。
2)编写实现目标的计划任务书,根据面向对象思想进行目标分解,将总的任务具体化,明确化,并讨论具体的实现形式,形成多媒体制作脚本;
3)编辑视频源、音频源,准备各种素材;
4)编写SMIL文件;
5)调试,包括在本地调试与网络调试两方面;
6)打包发行,作为SMIL流媒体课件来说,它本质上还是一个教学资源。它的网络发布,如同其它的网络媒体一样,需要的网络流媒体服务的支持。
4 流媒体课件的具体设计流程
本文以 “数据结构和算法分析”课程的PowerPoint讲稿,用Smil语言制作成可以点播的交互式的流媒体学习课件为例讨论具体设计流程。
⑴ 窗口界面设计
窗口界面分两大部分:一是首页的菜单界面,二是学习时的主体界面。
首页菜单界面:
首页菜单是一个比较重要的地方,它承上启下,每一个章节学习完后,都要 |