数码
首页  >  数码终端  >  数码专题  >  移动应用与HTML5产业峰会

微软资深标准技术专家Paul Cotton:HTML5之Media相关标准技术

2016-10-28  来源:中国信息产业网  作者:

CNII网讯 10月27日,由工业和信息化部指导,中国信息通信研究院主办,移动智能终端技术创新与产业联盟承办的“2016移动智能终端峰会”在京隆重召开。在10月28日的移动应用与HTML5产业峰会上,微软公司资深标准技术专家、W3C HTML媒体加密扩展工作组主席Paul Cotton发表了题为“HTML5之Media相关标准技术”的演讲。

 
微软公司资深标准技术专家、W3C HTML媒体加密扩展工作组主席 Paul Cotton
 

以下是演讲全文:

我叫Paul Cotton,来自微软,我已经到了中国很多次,参加与HTML5、W3C相关的各种工作。在2014年的时候W3C正式发布了HTML5.0标准,其中非常非常重要的一个元素就是和媒体相关的。那在这个HTML5标准当中它支持video和audio的标签,通过媒体的属性可以指向一个媒体源,目前这项技术是非常简便的,已经在广泛使用。

但随着HTML5的广泛应用,特别是在移动端,视频和音频的元素也在广泛使用,这个时候问题就来了,目前我们对流媒体的支持肯定还是不够的。在市场里面有很多在Web上面的优质资源是需要数字内容版权保护的,但是很不幸,当时的HTML5标准并不支持这一功能。

W3C的HTML工作组就决定我们设立一个HTML的扩展标准来解决上面提到的问题,我已经在这方面花了四年的时间,我首先是工作小组的主席,接着W3C正式设立媒体资源工作组之后,继续担任主席。

刚才我们提到的这个问题要通过工作组的阐述标准来解决,其实是两方面的。第一方面是要实现HTML对流媒体的很好支持,另外就是要实现它的数字版权保护。说到数字版权保护,市场上现有的这些技术实践其实都是可以有相应的资源和处理的,但实际上它对开发者的门槛非常高。这些技术对开发者来说不仅是技术门槛高,而且工作量也比较大,除此之外它还可能带来安全上的风险,因为它要求在浏览器中内置一个插件。

现在市场上主流的浏览器正在纷纷加入去插件的大潮,微软的团队正在努力实现去插件化,越少的插件越好。因为插件是第三方提供的代码,需要嵌入到浏览器当中,这给浏览器增加了很多风险。如果要解决这个问题,就要去插件化。去插件化,对Web应用来讲,浏览器作为最重要的载体,如果我们要实现这个功能,就要在浏览器内部实现插件的功能。

既然要实现插件的功能是不可避免的,那与其被动地等第三方去插件,我们是不是可以在浏览器和Web App平台上去自动实现这个功能呢?目前W3C给出的解决方案是两个扩展标准,首先就是媒体资源的扩展,媒体资源的扩展定义一个流媒体的元,即使比特率发生变化,也不需要暂停或者重新加载。

第二个解决方案是加密媒体扩展,业界俗称EME。这个标准实现的功能就是定义不同的内容解决模块,支持不同的数字版权管理内容,同时它也允许站点、浏览器、Web应用和许可服务器之间的通信,当一个站点开始传送内容的时候,Web App需要判断这里面是不是需要加解密,如果需要加解密它需要跟许可服务器进行通话,会话之后决定以什么样的方式在本地实现解密。

上述刚才说的两个标准方案,就可以实现在Web App里面去插件化的播放内容。我们刚才说的第一个媒体资源扩展,它其实可以实现站点以适量的比特率播放视频,它接着开始实现一种机制就是监测现场的网络情况。如果网络比较好或者比较差,它可以根据实际情况调高调低比特率,即使是这样我们中间也不需要任何停顿或者重新加载。

第二个是关于加密媒体扩展的。在使用这个标准的时候,我们大概是这样,当浏览器拉来要播放的内容,它在播放队列里面发现了一段其实内容已经被加密,它会生成一个请求,通过解密模块把这个请求发给许可服务器,许可服务器判断完之后反馈给你一个结果,前提是你已经购买了,你拿到这个之后同时进行解密,这样就可以愉快地播放我们的音视频文件了。

下面我们看一些关于媒体资源扩展的技术细节了。我们定义了一个的对象,直接内嵌到HTML标准当中,它为整个HTML的媒体元素定义了数据源。接下来就实现追加数据、网络数据、整个视频或者音频播放的流畅性。这里面支持的格式不只有音、视频还有文本,这就允许我们在播放音、视频的时候同时加上字幕。这并没有像之前的对加载造成任何的额外工作负担,我们把这些数据拉到HTML当中之后,它会像往常一样正常把这些信息进行播放。

国际标准化组织ISO其实定义了很多不同的媒体类型,目前这些常用的媒体类型已经被媒体资源扩展得到很好的支持了。如果大家去W3C的网站上看媒体资源扩展的时候,会发现那有一个注册机制,这个机制意味着什么?我们现在支持的不只是这些格式,其实还有一些也许在中国用的比较多,或者其他地区用的比较多的格式,也可以用这种注册的方式纳入到HTML5支撑的范围之内。这里传递的信息就是,目前的媒体资源可扩展性非常强,如果我们开发者能够提供类似相应的格式或者信息,那我们可以通过这个注册机制实现HTML5非常好的支持。

接下来我们讨论一下加密媒体扩展EME。EME现在是建立在通用加密格式的基础之上的,这个其实也是ISO的标准。加密归加密,许可归许可,两种是完全分开的,加密只是一种能力,它是独立于数字版权管理的。你可以有一段视频流,但是通过不同方式去加解密。其实微软和其他很多公司在大概八九年前就开始尝试用这种通用加解密的方式实现这种保护了,他们期待有一天就像今天在做HTML的媒体扩展一样,实现这种内容加解密的功能,保护优质媒体资源。

刚才我们介绍的加密媒体扩展和媒体资源扩展,这两个如果是大家一起使用其实互相并不妨碍,我们可以把一个很好的已经被加密过的内容,以安全的形式快速地实现解密。这对开发者来说最重要的一个话题可能就是解密模块里面的密钥串了。到目前为止我们现在支持的是五种。其中第一种是图文(音)的,其实这个更多的考量是在实践当中要实现更多测试,图文比较方便。剩下的四种密钥串分别来自谷歌、微软、苹果和Adobe。

刚才说的这几种密钥串,其实应该可以被你的浏览器很好的支持。其实目前市场上现行的这种许可机制有很多种,这里面其实要实现的一个最重要的能力,就是让开发者不需要担心或者说你不需要去了解到底你需要什么样的许可?对于普通开发者来说,肯定乐意看到所有加密、解密、许可、对话等等都在后台完成,不需要解决这方面的问题。

这也是W3C为什么要开发这个标准的重要目的之一,就是要降低开发者的门槛。大家只要掌握普通的Web技术,而不需要担心所有后台的这些加密、解密以及许可过程。大家只要熟练掌握像HTML等等这些技能,就可以通过我们所开发的Web App实现内容的加密解密等等。

那这里面需要跟大家指出的是,我们给浏览器增加了一个属性,它允许站点访问某些密钥或者某些内容。同刚才我们介绍的第一个标准,它有EME加密媒体扩展,是可以扩展的,如果有哪些东西需要加进来,可以通过这个注册机制来实现。目前我们EME的注册机制上已经实现了对两种流媒体格式以及对三种类型的支持。这个类型是在我刚才讲的一般状态媒体文件里面来实现的。

W3C所有外部的Web标准技术都是在网站上可获得,同时也是可以供大家免费使用。如果不是要解决个别的Bug问题,我们希望这些标准是稳定的。刚才讲到的两个特性里面的注册机制其实不在稳定性范围内,我们要逐渐连接更多媒体格式和加密媒体格式等等,其实我们还是期待会有更多的视频解密或者是媒体的格式被纳入进来。

那这里面要跟大家介绍的是加密媒体扩展里面两个对象,一个解决的是要表达一个可用的密钥。另外就是管理你的站点、浏览器、许可服务器以及后台所有这些之间的通讯,包括如果你想实现触发的这些视频播放,那后面这些通讯要同时进行。如果你在浏览器或者是PC端、移动端等等使用这些功能的时候,有些时候你可能并不需要它们同步。加密媒体扩展和W3C的另外一个标准,两个是可以一起捆绑实现的。如果你在触发的时候需要停顿,那你其实不需要停止所有进程,我们可以去处理其他并行的事件,等你好了以后再回来。

下面比较重要的内容就是刚才介绍的这两个标准目前成熟度怎么样?首先第一个加密媒体扩展已经到了W3C标准流程的最后一步,就是要经过W3C全体会员投票通过。第二个加密媒体扩展目前的状态比上一段要早一些,现在正在实现大规模的操作测试。目前的计划是我们希望在12月把它推到W3C全体会员去投票表决,明年正式发布。

所有W3C的这些标准必须被业界广泛实现之后发布,这里面的发布门槛就是要两个以上独立内核的实现才可以,目前我们在这两个标准的实现当中已经实现了三个,希望在它们的帮助下能够尽快把这个标准发布出来。

关键词:

相关新闻