中国科技论文在线
http://www.paper.edu.cn
基于 SMIL 与流媒体的多媒体课件的制作
张海鹏
北京邮电大学网络教育学院, 北京 (100088)
E-mail:zhanghaipengbupt@163.com
摘 要:本文介绍了 SMIL2.0 的特性,对 SMIL 的布局、动画、链接、同步计时、过渡模块
进行实例演示。通过与流媒体相结合,实现了 SMIL 网络课件的制作,可以满足课件制作者
的多变需求,体现了很强的简洁性、开放性、交互性。
关键字:SMIL XML 流媒体 多媒体
中图分类号:TP312 文献标识码:A
1 引言
同步多媒体集成语言( The SynchronizedMultimedia Integration Language ( SMIL) ,发音
作“smile”)是可扩展标记语言(XML)一种重要应用。推出 SMIL 最初的目标是为了实现在
Web 上的实时的多媒体演示(presentations) ,自从 Web 出现以来,网站管理者一直在探索使
用两个或更多的流来提供具备艺术水准的多媒体演示的机制,但却受到了诸如 HTML 和
JavaScript 等传统的 Web 技术的限制。SMIL 的出现则为 Web 客户提供了更好地表现多媒体
内容的能力,它使网站建设者很容易定义并组织多媒体元素(如:视频,音频,动态的图像等)
相互协调和相互作用[1]。
1998 年 6 月 15 日, SMIL1.0 成为 W3C 的推荐标准, 2001 年 8 月 7 日, SMIL2.0 成
为 W3C 的推荐标准。目前已经被接受为推荐标准的是 2005 年 12 月提出的 SMIL2.1[2]。与
常见的 Flash、WindowsMedia 等多媒体格式相比,SMIL 更具有开放性的,在不同用户操作
系统中兼容性更强,其媒体格式制作也更为容易。SMIL 对多媒体有很好的集成和控制能力,
能保持素材的独立性,在通过 Internet 实现各种多媒体信息共享方面具有突出优势,无疑,
未来 SMIL 是多媒体课件发展的重要方向之一。
2 SMIL 相关简介
2.1 编辑器与播放器的选择
随着 SMIL 技术的发展和完善,越来越多的业界组织和供应商提供了支持 SMIL 的开
发工具。RealNetworks 公司的 SMILGen 软件支持 XML/SMIL 创作;Adobe 公司的可视化
创作程序 GoLiveStudio 提供了 SMIL 和 QuickTime 编辑器。另外还有荷兰 atrixDevelopment
开发的 GRINS 系统,法国 Helio 组织开发的基于 JAVA 语言的 SMIL 专用 SOJA 浏览器等
软件。
SMIL 文件可以通过客户端安装相应的应用程序播放,也可以通过浏览器播放。Microsoft
从 Internet Explorer 版本 5.0 开始增加了 SMIL 支持子集。IE 的当前版本 6.0 已扩展了
其 SMIL 支持。IE 6.0 允许开发人员使用 SMIL 滤镜(filter)和效果(effect)(如渐隐图
像),使用擦除(wipe)在文本和媒体元素之间进行变换,对元素应用渐变色背景,控制每
个元素的定时。在 IE5.5 及其高级版本或 FireFox 安装插件进行播放。
目前,世界上三大流媒体平台厂商 APPLE,RealNetworks 和 Microsoft 均支持 SMIL。
Microsoft 的 Windows Media Player 仅对 SMIL 提供有限的支持,Apple 的 QuickTime
对 SMIL 的支持比较全面,但是支持媒体格式比较有限, RealNetworks 公司的 RealPlayer 和
- 1 -
中国科技论文在线
http://www.paper.edu.cn
后继版本 Realone Player 全面支持 SMIL 标准,同时开放源码,支持的格式最广泛,用户群
体最广大。[3]
本文由于时间限制,本文使用记事本与 RealSlideshow 2.0 共同编辑 SMIL 文件,使用
realplayer11 播放 SMIL 文件。
2.2 SMIL 支持的媒体类型
SMIL 支持的媒体类型如表 2.1 所示:
标记名称
表 2.1 SMIL 支持的媒体类型
关联的媒体种类
动画文件(GIF、Flash 动画等)
文本文件(.txt)
RealText 的流式文本文件(.rt)
图片文件(JPEG、GIF、PNG 等)
声音文件(RM、MP3、WAV 等)
视频文件(RM、MOV、MPEG 等)
其它媒体标记无法描述的格式
3 SMIL2.0 的主要模块应用
3.1 布局模块
3.1.1 基本布局(BasicLayout)
通过 laylout、region、fit、z-index、width、height、background-color 等属性实现 smil 窗
口的基本布局。
其中 z-index 属性可以用来实现窗口的重叠,即画中画的功能。z-index 的值越大就显示
在上面。效果图见图 3.1
基本布局的例子如下:(具体实例见 huazhonghua.smil)
...
...
- 2 -
中国科技论文在线
http://www.paper.edu.cn
图 3.1 画中画效果图
3.1.2 层次布局(HierarchicalLayout)
层次布局允许嵌套的“区域(region)”元素:层次布局的位置是相对于其上一区域(父
区域),而不是“根布局”。层次布局支持分组,这样更容易改变布局。
层次布局的例子如下:(具体实例见 cengcibuju.smil)
...
...
3.1.3 支持多窗口(MultiWindowLayout)
利用多窗口的支持特性,可以把媒体对象放置在多个窗口中。通过属性控制,可以使窗
口在开始时打开,或在一个媒体被激活时打开。下面是一个多窗口的例子。这个例子将测试
topLayout 的打开特性。首先显示一个 topLayout。开始(0 秒)时,在一个打开的窗口里显
示 p2.jpg。在第 5 秒钟时打开另一个窗口,并在上面显示 1.rmvb。在第 10 秒钟停止 p2.jpg,
但 r1 不关闭窗口。在第 15 秒钟时停止 1.rmvb,r2 窗口关闭。其效果图 3.2
多窗口的例子如下(duochuangkou.smil):
- 3 -
中国科技论文在线
http://www.paper.edu.cn

图 3.2 多窗口效果图
3.2 链接模块
利用 anchor 属性对链接加上时间的控制,利用 coords 属性对链接加上空间的控制。链
接对象可以是 smil 规定的任何一种多媒体对象,也可以是多媒体对象的某一部分,利用#属性
可以实现。
链接的例子如下(anchor.smil):
该例实现了在窗口播放视频 yizhongtian.rmvb,在前十秒点击该视频任意部分链接至图片
p1.jpg,在 10s 到 20s 点击该视频的左半部分可以链接至新的视频 1.rm,在 20s 到 30s 点击该视
频任意部分链接至 smil2.smil 的 testlink 所标记的区域。
3.3 计时同步模块
利用 clipBegin、clipEnd 属性实现了指定多媒体片段的播放,而且不改变多媒体源文件。
下面的例子实现了截取 radio.wav 第五秒到第十秒的音频进行播放的功能:
- 4 -
中国科技论文在线
3.4 媒体过渡模块
http://www.paper.edu.cn
媒体过渡可能在所有媒体类型之间发生,例如图像过渡为其他图像,图像过渡为视频,
以及音频之间过渡。可视媒体过渡的例子如图像之间的淡入淡出(fading),视频之间的擦
入擦除(wipe)等。
实现方法是类似式样的过渡("Style-like" Transition)。这种方式类似于”region”的应
用,需要在头部(”head”)中预定义类,说明持续时间、类型等。在媒体元素的过渡中引
用它们。同样的过渡定义可以被用于不同媒体对象之间的过渡。下面是类似式样的过渡的例
子,效果图见图 3.3、图 3.4
类似式样的过渡例子(transition.smil):
该例实现了图片 p1.jpg 的水纹式插入持续 3s,淡出持续 2s,接着图片 p2.jpg 钟表式擦
入持续 3s,淡出持续 2s。
图 3.3 waterfallWipe 效果图
- 5 -
中国科技论文在线
http://www.paper.edu.cn
图 3.4 clockwipe 效果图
3.5 动画功能
动画功能的目的是随着时间的推移移动媒体对象。动画的实现是按时间变化改变属性值
(大多数是“区域”属性),例如,背景颜色,音量,z-index 等。SMIL 的动画模块也被
SVG 使用。
下面是动画的例子(donghua2.smil):
该例实现了将图片 p1.jpg 的缩放。
动 画 的 其 他 特 性 还 有 : 控 制 是 否 将 动 画 现 在 值 加 上 附 加 值 ; 控 制 动 画 重 复 效 果
“imateMotion”允许沿路径移动元素;“teColor”允许颜色活动。
3.6 依据条件选择播放内容
使用选择标记
和,可以在 SMIL 文件中定义选择项,媒体播放器会
根据所定义的播放条件是否满足客户端的系统设置来选择播放内容。在
组合中,可
以定义任意数量的选择项。组合的书写格式如下所示:
<选择项 1 条件属性="条件 1"/>
<选择项 2 条件属性="条件 2"/>
<选择项 3 条件属性="条件 3"/>
…
- 6 -
中国科技论文在线
http://www.paper.edu.cn
利用这一特性 smil 可以满足对多语言的需求。例如:smil 文件可以在同一页面中包括
汉语和英语的音频文件,然后根据用户的参数设置自动选择下载中文或英文版本。
4 整合 SMIL2.0 制作多媒体课件
4.1 素材准备
1.图像素材:收集有关主讲人图片及课程图片
2.文本素材:相关课程的说明性文字。
3.视频素材:相关课程的视频。
本文制作了一个演示课件:《北京欢迎你》(beijing.smil),实现了布局、链接、RealText
实现歌词同步、RealPix 实现图片同步,内容控制实现了中英文语言字幕的演示。
4.2 具体实现
4.2.1 用 RealText 制作流式文本文件
RealText 是由 RealNetworks 开发,专门用于编写适合于在 Internet 上进行媒体点播或广
播的流媒体文本文件的标记性语言。属于扩展性标记语言的范畴。同为标记性语言,RealText
和 HTML 很相似,都是通过各种标记(Tag)来表示和排列各种对象的。
格式:
...RealText 的其他标记...
利用文本素材用 RealText 制作流式文本文件,本文所作课件歌曲字幕同步通过 bejing.rt
实现,注释及操作提示通过 beijingdes.rt 实现,英文字幕通过 beijingdes-English.rt 实现。
4.2.2 用 RealPix 制作流式图像文件
RealPix 也是由 RealNetworks 开发,进行媒体点播或广播的流媒体文本文件的标记性语
言,属于扩展性标记语言的范畴(XML)。只有通过 Real 服务器,才能真正地测试 RealPix 文
件的网络发布效果。由于 RealPix 文件的网络发布需要消耗比 RealText 多得多的传输带宽,
实际测试网络其网络发布效果非常重要。
< imfl...options...>
...RealPix 的其他标记...
利用图像素材使用 RealPix 制作流式图像文件 bejingpic.rp,其中加入了图片的淡入淡出 x
效果(crossfade)与镜头切换效果(wipe)。
4.2.3 SMIL 文件的制作
通过 SMIL 布局:首先设置根窗口大小为 1200*600,将根窗口平均分为四个区域窗口,
左上为 video_region 窗口,左下为 main_region 窗口,右上为 picture_region 窗口,右下为
- 7 -
中国科技论文在线
descripe_region 窗口。
http://www.paper.edu.cn
通过 SMIL 实现各个窗口播放内容时间的控制:共 2 分 28 秒,第 1 分钟:video_region
窗口播出 beijing.rm 视频,picture_region 窗口播放图片流媒体 beijingpic.rp,main_region 窗
口动态显示歌词 beijng.rt(与视频同步),descripe_region 窗口显示提示信息 beijingdes.rt,
此时效果图见图 4.1,点击 video_region 窗口的左上部会链接至《琵琶行》课件演示
(pipaxing.smil)。在第一分钟后点击字幕可进入转场效果演示(transition.smil)。第 1:14:视频
与图片区域互换,注释区字幕变为英文,此时效果图见图 4.2。
图 4.1 SMIL 效果图 1
图 4.2 SMIL 效果图 2
4.2.4 实现代码
- 8 -