守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1000|回复: 1

[AIR技术] 开源媒体框架(OSMF)的介绍和概况 [译]

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51838
    钢镚
    1422

    开源英雄守望者

    发表于 2015-3-16 11:20:02 | 显示全部楼层 |阅读模式

    原文:http://www.adobe.com/devnet/video/articles/osmf_overview.html



    对于那些要在网络或者手机设备上发布视频、音频或者其他丰富媒体的机构,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息息相关的人达到共赢的目的:对媒体播放器的开发者而言,它可以减少复杂性;对于插件提供者,他减少了定制完整性。


    评分

    参与人数 1金币 +20 收起 理由
    shawn00 + 20

    查看全部评分

    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51838
    钢镚
    1422

    开源英雄守望者

     楼主| 发表于 2015-3-16 11:24:19 | 显示全部楼层
    本帖最后由 破晓 于 2015-3-16 11:26 编辑

    OSMF考虑到媒体引入了新的类和新的概念

    对于有ActionScript媒体播放器开发经验的人,OSMF引入了新的类和规则来编写媒体播放器的逻辑。取代直接参照Flash Player本身的媒体API,OSMF开发者会参照OSMF类来编写(内部调用Flash Player本身的媒体API)。例如OSMF开发并不需要直接实例NetStream对象。

    OSMF引入一个新的通用的类和概念。在过渡到开发OSMF媒体播放器,开发者需要赶上以OSMF的方式思考媒体的速度。本节的其余部分提供了一个OSMF类和概念的例子,在OSMF的基础上抽象得出。若想要更深一步的了解OSMF开发媒体播放器的相关知识,可以看官方的产品介绍文档。


    举一个关于用OSMF开发媒体播放器的新内容的例子,它用了一个叫做MediaElement的抽象基类,代表了在框架中的各种媒体类型。为了在OSMF中展现出丰富的媒体,常见的MediaElement子类也是被广泛应用的,有VideoElement、AudioElement、SWFElement以及ImageElement类。


    OSMF也支持另一种复杂MediaElement的子类CompositeElement。CompositeElement继承的类是用于创建组件的主要类:SerialElement类和ParallelElement类。




    图1 例子代码的嵌套组合,一个顶层类ParallelElement (2)和一个嵌套类SerialElement (1)。


    OSMF包含了布局好的API。例如,用ParallelElement组件时,多种可视化元素都会同时显示出来。OSMF的API用像RelativeLayoutFacet的类(它会像图1中ParallelElement说明的那样用)或者用像AbsoluteLayoutFacet 类(用于覆盖)。在这些情况下,OSMF的布局面类能够在ParallelElement组件中使其定位子元素(很多子元素在那也能同时可视化)。 OSMF在布局层上应用面类的概念。所有的面类继承基类Facet。广泛的说,面类包含了相关媒体独立元素的元数据。例子包括(但不限于)提示点的元数据,服务质量(QoS)元数据等等。相关事件模型包含了类MetadataEvent、FacetValueEvent以及 FacetValueChangeEvent。 OSMF也支持基于OSMF媒体播放器和嵌入式HTML页面间的交互。当与HTMLMediaContainer类结合时,它通过一个继承了HTMLElement的类MediaElement来在OSMF中使用(在运行时,双向交流的JavaScript通过OSMF被内部启用,使用ActionScript类ExternalInterface)。该功能的应用基于OSMF的媒体播放器来响应在运行时的JavaScript调用,它通过用户与包装的HTML交互,允许在OSMF的媒体播放器上的操作,以编排在预定于HTML页面元素的变化。一个基于OSMF媒体播放器控制HTML的例子可能包含在不断变化的HTML网页中(见图2)。



    图2 丰富的媒体体验和广告


    在抽象什么是MediaElement中,OSMF还介绍了特征类的概念。在OSMF抽象逻辑中,特征类定义了每个MediaElement的能力。通过OSMF类MediaElement的常量能够发现对OSMF中一些标准类的好结论。例如,这两个类VideoElement和AudioElement有LoadTrait,PlayTrait和SeekTrait的特点。但是,由于没有DisplayObject的实例AudioElement,AudioElement没有ViewTrait,而VideoElement有。 为了支持将媒体播放器的创建分析,OSMF还包括诸如BeaconElement MediaElement的子类。

    三、播放器的例子

    OSMF包括很多可运行OSMF的例子,这些例子能够通过基于OSMF例子播放器来执行(见图3)。播放器例子的源代码包含在OSMF子版本库中。一个播放器例子编译的版本是可在线运行。

    图3 OSMF例子播放器


    该示例加载了一些OSMF播放器的示范例子(包括说明错误条件,如加载失败的和无效媒体的网址错误)。 每个例子可以通过在左侧列表选择播放器来运行。每个例子都会在你选择一个播放器后显示在右上角。 OSMF的例子播放器能够很快的找出OSMF的更多应用能力。
    四、何去何从

    随着OSMF出现,Adobe正在改变我们的媒体和视频播放器。 通过创建一个强大的开放源码媒体播放器的开发框架,致力于Flash Player的开发者现在可以更快地创建比以往具有更多功能、更多服务的视频播放器,而且成本也非常合理。 如果你是一个媒体播放器开发人员,你的下一个步骤是从这里开始。下载OSMF来获得最近OSMF发布的更多信息- 源文件的压缩包和发布的PDF注释。为了建立你的开发环境,按照在发布注释中“开始说明文档”的介绍来做。这些说明提供了很多非常重要的细节,它在Adobe Flex Builder 3和Flash CS4中应用OSMF。 为了更进一步的理解OSMF介绍的新的类和内容,请看OSMF开发指导ActionScript 3语言的参考,包括开源媒体框架的API。 关于个性化的支持,可以参考从事OSMF的团队。参与该团队既可以选择公共支持OSMF的论坛也可以选择OSMF用户组。

    本文来自:http://airfans.iteye.com/blog/763769

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2020-5-31 04:52 , Processed in 0.083672 second(s), 37 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表