HTML5 <Video> 入门教程以及您为何应该关注它
好消息是:“开放 Web”,一个关于互联网未来的愿景,即参与性、协作性且摆脱供应商锁定的互联网,终于开始实现。继 Mozilla Firefox 成功将开放 Web 标准引入其浏览器平台以及 Android 在移动电话上的迅速普及之后,今天我们看到许多浏览器供应商和支持 Web 的设备制造商都在转向支持供应商中立的平台,以实现富媒体 Web 体验。就在几年前,科技巨头(如 Google、Apple 和 Microsoft)和非营利组织(如 Mozilla)似乎不太可能在像 Web 未来标准这样有争议的问题上达成一致。但是,由于跨设备的市场分散以及台式电脑上日益分散的浏览器市场,浏览器供应商和设备制造商被迫携手前进,否则就会落后。也有坏消息。“一次编写,随处发布”的愿景远未实现。像许多有争议的协议一样,魔鬼藏在细节中,而且有很多细节。Web 上媒体的开放未来远未得到保证。在本文中,我重点介绍了行业如何从针对单一供应商的富媒体 Web 体验过渡到针对多个富媒体 Web 浏览器。在这种环境下,中间层解决方案将弥合实现之间的小差异。传统上,开放 Web 在处理视频和音频等富媒体方面面临着重大挑战。多年来,Web 上的富媒体一直是专有解决方案的战场。Adobe Flash 赢得了当前的战斗,现在已成为桌面 Web 富媒体的事实标准。然而,Flash 是专有的,并且不受许多设备(如 iPhone 和 iPad)的支持。作为 W3C HTML5 标准一部分的富媒体处理新规范,即 <VIDEO> 和 <AUDIO> 标签,是在应对这些挑战方面向前迈出的一大步。它们规定了一种供应商中立、设备中立的方式,用于在网页中包含富媒体,就像今天处理图像一样。但是,HTML5 需要过渡期。在我们对规范的所有细节达成广泛的行业采用和普遍协议之前,在不支持 HTML5 的情况下,系统将需要支持现有的专有媒体播放系统。在未来几年,我们很可能会看到开源 JavaScript 中间层提供创新和统一的开发平台,这些平台从 Flash 和 HTML5 中汲取灵感,以构建用于富媒体 Web 体验的强大解决方案。这种强大性将包括处理从分析到播放列表的所有内容。在这个过渡时期,开发人员可以使用 JavaScript 中间层来弥合 Flash 和 HTML5 之间当前的差距。无论使用哪种浏览器和底层技术,这都将提供统一的用户体验。
HTML5 背景知识以及 Web 富媒体的未来
HTML5 是提议的 HTML 下一代标准,HTML 是 Web 的基本格式。它的目标是减少对基于专有插件的富 Internet 应用程序的需求。HTML5 的承诺是,开发人员可以编写一次富媒体应用程序,并在任何浏览器、任何设备上运行它们,从 PC 到平板电脑和智能手机,再到机顶盒和支持 IP 的电视。HTML5 工作组 WHATWG 受信赖的任务是升级 Web,以支持富 Web 体验,而无需依赖专有技术。该小组忠于其使命,一直以非常开放的方式运作。尽管关键工作组成员受雇于主要供应商,但标准制定过程是开放的,并鼓励 Web 开发人员和浏览器工程师的大规模参与。当 Microsoft、Apple、Google 和 Adobe 等供应商竞相争夺富媒体领域的统治地位时,这绝非易事,因为它们都认为富媒体对 Web 的未来至关重要。随着微软宣布下一版本的 IE 将支持 HTML5,该标准获得了巨大的推动。但是,尽管该标准为互操作性设定了很高的门槛,但关于底层技术的争论使整个努力处于危险之中。最激烈的争论围绕着 HTML5 <VIDEO> 标签的编解码器无关性。许多开放 Web 倡导者提倡将所有浏览器都支持的基线免版税编解码器作为规范的一部分。然而,在试图获得所有利益相关者的“认可”时,该标准未能指定标准编解码器,从而将编解码器选择权留给了供应商。这种“灵活性”的结果是,如今 Apple 的 Safari 和 Microsoft IE9 支持 H.264。Google 的 Chrome 支持开源且免版税的 VP8 编解码器以及 H.264 和 OGG。Firefox 支持 VP8 和 OGG/Theora。谷歌最近还宣布,其开放 WebM 项目也将使用 VP8。多种交付选项使情况进一步复杂化。例如,Apple 平台将支持 Apple http 自适应流媒体,而 Google Chrome 浏览器只能解码普通的 http H.264 资产。而且,微软很可能支持 Silverlight Smoothstream 作为交付选项。这突显出,尽管所有浏览器供应商都在参与围绕视频的 HTML5 标准,但这并不一定意味着同一个视频和同一个网页可以在所有浏览器上运行。例如,想象一下访问者使用 IE6 和 Flash 或 iPad 和 Safari 访问您的站点。尽管有标准,但交付高质量的 Web 视频体验再次变得几乎不可能,因为编解码器和交付选项再次需要特定于浏览器、特定于设备的行为和后端支持。此外,正如我们在其他标准中看到的那样,其他 HTML5 功能实现之间可能存在许多特性,或者浏览器之间只是不完整的支持。这将使利用新功能变得更加困难,而不会让很大一部分 Web 访问者实际上处于黑暗之中。
我们以前经历过
如果您将 Web 回溯几年,您可能会记得开发任何支持当时所有 Web 浏览器的富 Web 体验是多么可怕的任务。这不仅是因为浏览器不成熟,还因为它们缺乏高质量的 JavaScript 库,这些库可以处理浏览器检测并采取适当的措施。在 2006 年初,jQuery 横空出世,改变了 Web 应用程序的开发和部署方式。jQuery 使 Web 开发人员能够共享解决方法并将常见任务的快捷方式链接在一起。这使开发人员能够快速构建创新的富 Web 体验,而无需担心日益复杂的底层 Web 平台集。如今,很难想象在不使用 JavaScript 框架的情况下构建 Web 应用程序。仅 jQuery 就被排名前 10,000 的 Web 站点中的近 30% 使用。在很大程度上,我们预计 JavaScript 库将作为桥梁出现,弥合交付强大的 HTML5 功能集的底层复杂性。Web 开发人员不必担心技术细节,例如他们的视频将如何播放或他们的跨域请求将如何工作。相反,他们只需发出高级调用,底层的 JavaScript 库将自动映射到 HTML5 或 Flash,从而使开发人员能够专注于其应用程序的创新方面,而不是其“管道工程”。
Html5video.org 和 Kaltura 的 JS 库
Kaltura 是世界首个开源视频平台,已开发出一个这样的库,可在 www.html5video.org 上获取,并创建了一个行业资源以供开发人员参与。该库是与 Wikimedia 基金会合作开发的,用于处理维基百科上的视频,维基百科只允许使用未受专利限制的自由格式。Kaltura 的 HTML5 媒体库使用“回退”方法,通过自动检测后端的浏览器和支持的格式,为观看者提供最佳观看体验。然后,它可以以正确的格式和正确的容器显示正确的内容,同时保持单一的外观和感觉以及功能集。例如,如果您想向 Firefox 客户端交付 H.264 视频,Kaltura 库将自动切换到 Flash 播放器,这对开发人员的自定义界面组件和观看者来说是完全透明的。要了解更多信息、体验 HTML5 视频的实际应用、提供反馈、参与或帮助改变 Web 上视频的制作方式,请访问 Html5video.org。