内容


熟悉 SMIL 2.0

将多媒体集成到 Web 内容中的基于 XML 的方法

Comments

对于多媒体领域以外的开发人员,同步多媒体集成语言(或简称 SMIL)可能是某种晦涩难懂的技术。但至少在几个主要的参与者中,SMIL 已开始成为表示在线多媒体的重要方法。

SMIL 支持已开始成为 Adobe、Microsoft 以及(也许是最重要的)媒体传递领先者 Real Networks 支持的技术之一。众多较小的供应商已开始提供 SMIL 创作工具和播放器。

在不久的将来,随着对当前 2.0 规范支持的增长,对于任何在工作中需要某种形式的多媒体资产控制的开发人员,使用 SMIL 将成为他们的标准策略。如果把正在增长的工具创建者的名单作为某种指示,那么用 SMIL 构建表示也会变得更简单。

SMIL 历史与概述

当 1997 年 3 月万维网协会(World Wide Web Consortium (W3C))建立了关于同步多媒体的工作组时,就开始了 SMIL 的开发。

SMIL 是一种基于 XML 的语言,它允许作者编写交互式多媒体表示而无需使用象 Macromedia Director 这样的多媒体管理工具。作者可以描述多媒体表示的定时、将超链接与媒体对象关联以及定义屏幕表示的布局。对于 SMIL 2.0 规范的一部分而言,它是一系列定义某些 SMIL 函数的语义和 XML 语法的标记模块。

W3C 于 1997 年 11 月发布了 SMIL 的第一个版本,在一定程度上吸引了业界的注意,并获得了一些来自 Real、Adobe 和 Microsoft 的支持。

随着 SMIL 2.0 版本在 2001 年 8 月的发布,上述公司仍旧参与支持;另外,市场上已经出现了十多个独立制作的 SMIL 创作平台。根据 W3C 文档,SMIL 2.0 有两个主要设计目标:

  1. 进一步定义基于 XML 的允许作者编写交互式多媒体表示的语言。
  2. 为了在其它基于 XML 的语言中重用 SMIL 2.0 语法和语义,并且引人注目地将定时集成到 XHTML 和可伸缩向量图(Scalabe Vector Graphics (SVG))中。(SVG 是一种用 XML 描述二维图形的语言)。

该组如何实现第二个目标的示例之一是:Microsoft 的 XHTML + SMIL 概要文件,它直接将 SMIL 与 XHTML 和级联样式表(Cascading Style Sheet)集成起来。尽管技术上不属于 W3C 的 SMIL 2.0 建议书,但它们是有联系的;用于验证 SMIL 2.0 的实现之一就是基于 XHTML + SMIL 概要文件。

供应商支持

或许,在 SMIL 领域最投入、最引人注目的供应商是 Real Networks,它的 RealOne 播放器支持 SMIL 表示的回放。为了支持 SMIL 创作,Real 在 2001 年 9 月发布了自己的 XML/SMIL 创作工具 SMILGen。

Microsoft 从 Internet Explorer 版本 5.0 开始增加了 SMIL 支持子集。IE 的当前版本 6.0 已扩展了其 SMIL 支持。IE 6.0 允许开发人员:

  • 使用 SMIL 滤镜(filter)和效果(effect)(如渐隐图像)
  • 通过使用擦除(wipe)在文本和媒体元素之间进行变换
  • 对元素应用渐变色背景,控制每个元素的定时

另一个对 SMIL 友好的供应商是 Adobe,它为 Web 设计者提供的可视化创作程序 GoLive Studio 提供了 SMIL 和 QuickTime 编辑器。GoLive 旨在成为非常全面的软件包;将 SMIL 包括为标准特性这一事实说明了它已为媒体生产广泛接受。

同时,无线业界把 SMIL 看作一种丰富其当前基于文本的消息传递技术的方法。随着无线网络采用第二代和第三代技术,众多业界参与者期望看到非常流行的短消息传递服务(Short Messaging Service (SMS))发展为多媒体消息传递服务(Multimedia Messaging Service (MMS))。使用 SMIL 编码和基于 SMIL 的播放器,MMS 可以将文本、图像、音频以及最终将视频添加到 SMS。

工具和媒体播放器

除了大的业界组织和供应商以外,较小的参与者也正在投身于 SMIL 支持行业。

例如,位于荷兰的 Oratrix Development 制作了一个通用的 SMIL 编辑器(GriNS Pro Editor for SMIL 2.0)和专门针对 RealNetworks 的 RealOne 平台的 SMIL 编辑器(GriNS Editor for Real One)。Real 编辑器提供了集成的 RealMedia 转换或 RealMedia 的直接导入;它还提供了 RealOne 的集成发布和可选的至 RealServer 的上载。

Oratrix 还提供了自己的 SMIL 播放器,GriNS Player for SMIL 2.0。该播放器包括的扩展允许使用了 SVG 和 XHTML + SMIL/HTML + TIME 的迁移示例。

另一个新加入者是位于多伦多的 Confluent Technologies,它发布了名为 Fluition 的 SMIL 创作工具。可以单独购买 Fluition,但它也与 Real 的 RealPlayer 和 RealProducer 应用程序捆绑销售。

Fluition API Windows 版在 2001 年 4 月发布,它是一个 ActiveX DLL 集,允许开发人员将 SMIL 代码集成到支持 ActiveX 控件的应用程序中。

位于伦敦的 Ovate 采取了不同的方法。它的 Smibase 产品是一个安装在服务器上的支持同步多媒体表示的创建和管理的软件套件。Smibase 是一个数据库驱动的 SMIL 内容管理系统。

Smibase 的创造者们将该产品设计成为使 SMIL 内容更容易访问;该软件套件的作者们早就发现:如果没有非常专业的培训,他们的客户很难升级或重用 SMIL 代码。

SMIL 开发中的另一个参与者是以色列工具制作商 InterObject,它已开发了运行在标准 Windows 平台和 PocketPC 上的 SMIL 2.0 播放器。InterObject 开发的播放器包括易于修改的基于用户界面标记语言(User Interface Markup Language (UIML))的 皮肤(skin)GUI。

比较 SMIL 方法

本文不打算提供有关 SMIL 的使用的全面基本介绍,那将超出本文所允许的篇幅,有几个基本的方法可以区分一些主要部署。其中最重要的可能就是 RealNetworks 和 Microsoft 所推动的方法。

RealNetworks

正如前面提到的那样,最广泛的 SMIL 2.0 实现可能来自 Real Networks。RealOne Player 支持 SMIL 2.0 语言概要文件(SMIL 2.0 Language Profile),它结合了 SMIL 支持的大多数(尽管不是全部)模块。

除了支持大多数标准 SMIL 模块以外,RealNetworks 还开发了自己的几个 SMIL 扩展。要使用这些扩展,开发人员必须遵守标准 XML 声明,用添加了 Real 名称空间的专用行来定义名称空间(在本例中, rn ):

<smil xmlns= "http://www.w3.org/2001/SMIL20/Language"
xmlns:rn = "http://features.real.com/2001/SMIL20/Extensions">

下面是 RealNetworks backgroundOpacity 下面是 RealNetworks

rn:backgroundOpacity="50%"

尽管属性名称是预先定义的,但前缀是用户定义的。因此名称空间必须将同一用户定义的前缀作为属性使用。

Microsoft

通过使用少量的一系列基于 SMIL 的 XML 元素和属性,Microsoft 的 HTML+TIME 给 HTML 页面添加了定时和多媒体支持。为了给 HTML 文档添加定时,开发人员要向现有的 HTML 元素添加新属性。创建新元素是为了使向 HTML 页面添加媒体变得简单。

为了使用任何 HTML+TIME 元素,开发人员必须在 HTML 标记中声明 XML 名称空间 t

<HTML XMLNS:t="urn:schemas-microsoft-com:time">

要使用名称空间,开发人员用 t 作为 HTML+TIME 元素的前缀,然后将 time2 行为导入到名称空间中,如下所示:

<?IMPORT namespace="t" implementation="#default#time2">

其它部署

不同于上述这两个供应商,大多数创作工具和播放器开发人员主要分为两种,一种是只关注 SMIL 的完整台式机部署,另一种至少要关心一下用于占用资源较小的移动设备的基本 SMIL 2.0 子集。

此外,随着无线网络的发展,关注 MMS 部署的 SMIL 播放器应该对 SMIL 创作有新的考虑。

未来方向

随着 SMIL 越来越流行,开发人员正在转入从其它编码环境借鉴而来的工具和策略。一些独立项目向 SMIL 添加了能力和功能,包括 PerlySMIL,这是一个使用 Perl 创建动态 SMIL 文件的工具,还有 Cheshire Cat,这是将 SMIL 与业界标准多媒体创作工具 Macromedia Director 集成在一起的项目。

将 SMIL 引入其它编程领域的未来项目似乎是可能的,而与 Java 技术有关的项目是极其可能的目标:

  • 已由法国非赢利开发机构 Helio 创建的基于 Java 的 SMIL 1.0 播放器 Soja
  • 由 SunTREC Salzburg 用 Java 技术创建的 Schmunzel SMIL 1.0 播放器
  • 支持 XML 的基于 Java 的开放浏览器 X-SMILES

随着对 SMIL 2.0 采用的继续,支持 2.0 标准的 Java 技术项目也一定会继续出现。

随着 Web 设计专家追求新的多媒体选择以及多媒体机构继续探索更完善的 Web 传递,欣欣向荣的 SMIL 工具集合也可能在今后的几个月里继续成长。

总的说来,今年看来象是 SMIL 希望年。对于什么是未来的 Web 上增强多媒体的丰富介质,参与其中的开发人员现在也许已经可以描绘出来了。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML, Web development
ArticleID=22291
ArticleTitle=熟悉 SMIL 2.0
publish-date=12012002