对于那些要在网络或者手机设备上发布视频、音频或者其他丰富媒体的机构,Adobe公司有一个开源媒体框架(Open Source Media Framework),它可以大大的降低时间、成本以及创建视频和媒体播放器的风险。基于OSMF的视频和播放器可以运行在Adobe Flash Player和Adobe AIR上。
OSMF本身是一个给开发者使用的ActionScript3代码库,他们用Adobe Flash CS4 Professional和Adobe Flex Builder 3来创建媒体播放器(如同其他创建ActionScript应用的工具一样)。
这篇文章将会给你介绍OSMF、Adobe创建OSMF的目标背景以及OSMF的优势。为了更深一步研究OSMF还提供了一个可用资源的概览。
一、背景和目标
Adobe公司已经证实了在建立Flash Player上的成功之处。Flash Player在网络上为客户端用户接口作为一个普遍存在的运行时,并且可以随时增加移动设备。对于Flash Player的合作者,其普及具有相当大的益处。这对于其他发布视频以及富媒体的合作者也是如此。
我们可以在provenWebVideo.com上研究建立互动媒体播放器。根据这个领域的专业知识,我们发现Adobe公司对OSMF的新倡议是一个很明显的征兆,Adobe公司仍然是解决问题的核心力量,合作者可以依靠它来进行网络的视频传输。对于OSMF,Adobe公司还重申了他们合作的开放性:开放资源、开放标准、开放规格、开放创新以及在业内的合作。
Adobe公司正积极的与业界的众多参与者共同努力来达成以下目标:
(1)改进视频的体验
(2)把视频和媒体的体验扩展到移动设备上
(3)同时帮助客户降低媒体应用的开发时间、提高货币化的内容以及降低开发的成本
在推行OSMF的时候,Adobe公司已经和Akamai公司合作,该公司很早就提出了开放视频播放器的倡议。两个公司现在正在创建一个Flash平台上的媒体播放器,它具有的功能远远超出了最初对开放视频播放器的设想。
OSMF本身建立于Flash Player之上,它保留了现有在网络上对丰富媒体的各种选择:视频、音频、动画、互动游戏以及其他应用程序。
OSMF是Adobe公司在移动设备上开放屏幕计划的一部分。Adobe公司公布了将把Flash Player 10.1部署在移动设备上的同时也正不断发展在移动设备上的开发与部署的便利性。
在某些情况下提出OSMF就是严格地创建“客户”程序,它运行在Flash Player上(程序被编译生SWF字节码文件,运行时由Flash Player执行)。OSMF基于ActionScript 3。目前用1.0版本的OSMF开发需要开发者有ActionScrip 3的编程经验(期望将来的OSMF版本会致力于可视化编程组件,可以供Flash Professional CS5设计者使用)。
二、重要的优点
无论对于较大的、战略性的媒体播放器产品还是较小的视频播放器项目,OSMF都能够使开发者通过减小成本以及开发风险改变媒体播放器的开发过程。OSMF通过如下几个方法达到这些目的,本节将讨论这些方法的细节:
开源的意义远远超出仅仅的自由许可成本
OSMF的前两个单词“开源”突出了OSMF最明显的优点。它是Adobe为数不多的一种从开始阶段便开源的独特产品。对于我们以及其他用户,其优点都是多方面的。
第一个优点便是开发成本。开放源意味着这个软件是免费的。没有许可成本:没有许可成本、不用开发、不用部署。而且,OSMF可以为任何商业组织机构的需求进行免费更改。对于开源空间同样重要,Adobe和它的合作伙伴Akamai有意设计OSMF可用来避免许可诉讼的风险,他们创造了一种全新的代码基础并且将其直接用于OSMF项目。OSMF以Mozilla Public License,1.1版本(MPL)被公布。OSMF的许可证、专利以及重新分配策略均在Adobe Open Source wiki上有概述。
开源是开源的开发过程以及免费的许可。因此,对于OSMF开发者一个重要的优点是所用的基础源代码均可以从公共的Subversion repository上下载。
OSMF的资源同样可以从发布的产品中下载,包括发布的便签、更新文档和其他资源。目前早期发布的产品已经在开发“sprints”时完成,并且把其叫做发布的sprint。OSMF发布了的产品下载已经可以从OSMF下载页得到。
OSMF的开源开发过程同样会引起Adobe和其合作者公开OSMF开发团队使用的说明书。对于基于OSMF的开发者,这些说明书可以对理解基础的OSMF发挥无以伦比的作用。OSMF的说明文档的链接可以从OSMF Features and Sprecification page公开得到。
另一个突出的优点是软件的资源。Adobe是世界级的商用软件公司。通过OSMF,Adobe致力于其资源可以同其致力于商用产品媲美。这包括专业的开发,质量保证,程序说明书以及支持资源。在用开放资源软件的过程中,能够依赖有质量的产品很关键;通过Adobe的支持,开发者可以充分信任产品的质量以及可提供的支持。
下文将列举在支持方面的许多例子。三个最初的突出方面是Adobe的建立、支持以及维护pubulic bug and feature request database 和public supprt forums for OSMF,而且Adobe的团队录用是通过用户组项目。
OSMF 是一个媒体传递技术以及标准的联结
作为用途广泛的媒体传送已经从广播、DVD到通过互联网的数字传送,许多后台技术已经被Adobe和例如Akamai的CDNs开发以保证用户有满意的体验,包括可信赖的传输。对于OSMF来说,这项技术集中于两个关键方面:
· Flash player用户在OSMF申请执行的方面。
· 互联网服务器从OSMF申请接受其内容。
在OSMF之前,Adobe已经提供了一个提前建立的叫做FLVPlayback视频播放器(从Flash 8后的Flash版本起开始提供)。虽然FLVPlayback为视频播放器开发者提供了一个默认的起始点,但它的架构没有公开。FLVPlayback仍然被包括在Flash CS5内,并对于一个快速的单独的视频播放器保持着一个好的起始点。尽管这样,OSMF现在为更复杂的视频及媒体播放器提供了一个可替换的起始点,尤其是支持以文章为特征的类型。由于Adobe开发了新的媒体传送功能,它将首先通过增强OSMF为预建的视频播放器功能(可能是独家的)提供支持。这些功能将包括两方面:用户方面的功能,即Adobe继续支持Flash Player;服务者方面的功能,即包括那些添加到Adobe Flash Media Server的功能。
OSMF开始支持的新媒体传送功能将包括以下方面:
Flash player
·应用程序服务接口的质量(aka QoS)
·数字权利管理的应用程序接口(aka DRM)
服务器端
· HTTP流(如今的代码名称为Zeri项目)
· Flash 媒体服务器
· Flash 媒体服务器证明文件(aka F4M)
· 数字视频记录功能(aka DVR)
OSMF也支持那些集中于描述媒体流方面出现的标准。标准中有些注重于所含的经济价值(例如通过广告),和其他成分以及播放列表说明。OSMF是第一个对于如下标准提供直接支持的Adobe产品,包括:
· Video Ad Serving Template(VAST)
· Media Abstract Sequencing Template(MAST)
· Media RSS(MRSS)
· Distributiong Format Exchange Profile(DFXP)
· Synchronized Multimedia Integration Language(SMIL)
从一个开发者的观点来讲,OSMF对于所有这些标准的支持,包括剖析器库,可以帮助快速开发应用使用任意文件类型。
注意到OSMF与FLVPlayback间的重要区别,FLVPlayback架构更加注重用户的界面设计。它提供用户的界面预构控制(按钮、进度条等),因此设计者可以轻易地改变其外观。而OSMF的初期版本包括预设的谷歌浏览器,这意味着OSMF致力于开发团队寻找完全控制的界面。正如FLVPlayback现在做的那样,未来的OSMF版本将包括预构的用户界面控制,这样外观将很容易通过式样与皮肤的调整来改变。
OSMF通过模块化的扩展插件体系变得更加强大
OSMF的最重要特征可能要数它的模块化、延展性的插件体系。在OSMF中的这一类会提供核心媒体传送能力,通过插件进行扩展。在支持服务中,通过插件而实现的可扩展性对于可用性和完整性是必要的。任何一个OSMF的公共开发者可以写插件,包括:
· 媒体播放器的开发者
· 那些能直接给消费者提供插件的服务器提供者(也包括媒体播放器开发者)
· 能为OSMF团队提供制作插件的开发者
最广义的概念上讲,OSMF的插件体系有如下优点:
(1)可缩小播放器文件的大小 对于网络或手机上的媒体播放器能使下载文件尽量小是极为关键的。对于Flash播放器来说,是编辑后的SWF文件的大小。OSMF的插件体系可通过仅包括每个用户播放器的执行编码使开发者将最后编辑的SWF文件最小化。
(2)私人定制 许多OSMF的合作者都在OSMF的社区入口提供OSMF插件。这些合作者现在可以提供如下形式的私人插件:
· 广告传送
· 分析
· 内容传送
· 出版
(3)公开源定制 如今的OSMF插件库包括:
· 使用DFXP的标题支持
· 使用Media Rss的播放列表支持
· 使用SMIL的多种比特率支持
· 使用VAST以及MAST的广告
· 通过插件来组成的用户界面
(4)动态运行时的插件载入 这可以使运行时内的载入既可以从主方获得也可以从合作方获得(CDNs,分析卖主等)。当媒体播放器选择执行运行时插件加载,可促使发布者发行新的版本,例如更新。
注释:OSMF动态插件载入是安全的。OSMF的安全性可以保证其不受无意识插件加载。其动态插件加载可通过每个OSMF的媒体播放器开发者难于破解必需的逻辑保证其唯一性。因此,在运行时中不会有未知的插件加载。例如,对于媒体播放器用户,无法得到有关界面的资源、安装以及载入插件。
(5)静态编译时插件的完整性 这能够使模块化编码在媒体播放器中编译,插件可以由三方提供。编译过程的静态插件完整性有以下优点:
· 它能够使媒体播放器开发者对插件版本有完全的控制权。
· 它可以消除在媒体播放器启动后载入插件过程中可能存在的时间延迟。
· 它可以保证插件代码在启动过程中已存在于媒体播放器中。
OSMF的插件体系是区别于FLVPlayback的另一个重要特征。虽然FLVPlayback可以更换皮肤,却实质上是一个封闭的体系。因此,FLVPlayback既不支持标准化也不像OSMF那样通过它的插件功能(例如,广告服务、分析、CDN支持等)可以实现简单的开发
总之,OSMF的标准化插件体系可以使所有与OSMF息息相关的人达到共赢的目的:对媒体播放器的开发者而言,它可以减少复杂性;对于插件提供者,他减少了定制完整性。