Note to Apple: Safari & QuickTime are Not Web Standards
[This article originally ran on the LongTail Support Community Blog—Ed.]
将HTML5 Video称为“炒作”是一种轻描淡写的说法. 每周,大型科技公司都会宣布改善支持或取得新突破. 每天都有数以百计的新博客文章弹出 Google's blog search. 在这场辩论中,没有哪家公司能像苹果那样直言不讳.
该公司的最新举措是发布了一个HTML5展示,其中包括一个 video demo 以“HTML5、CSS3和JavaScript等web标准的功能”为特色." This effort is both laudable and shameful. 演示无疑是鼓舞人心的,并有助于推动HTML5视频在一个快速剪辑. 与此同时,这个页面上没有一个很酷的小玩意是真正的网络标准. Instead, 它们是在苹果的Safari/QuickTime产品栈中找到的特定功能(这就是为什么access is restricted to Safari). A breakdown:
The Video
尽管视频编解码器的争论已经升温 Google's release of WebM, Apple firmly stands by H.264. The demo 没有提供Ogg或WebM版本的视频,只是一个图像备份。
src=".../演示/苹果- html5演示- tron_legacy 20100601 cie——_r848 - 2.mov"
poster="... /images/tron_legacy.jpg"
loop="loop" autoplay="autoplay" autobuffer="autobuffer">
![](... /images/tron_legacy.jpg)
The loaded video is actually not an MP4 but a MOV. 与MP4有99%相似的MOV是苹果的容器格式 QuickTime technology. This video only works on Safari, 为了在Windows上的Safari中播放这个视频, a user must have the QuickTime plugin installed. No other browser is able to play the video.
更符合标准的方法是使用MP4视频而不是MOV视频, while simultaneously also offering an Ogg video. That will work on all HTML5 browsers.
The Controls
The scale, mask, and perspective video controls are very slick, but unfortunately still browser-specific features. 以下是启用这些选项后视频的CSS效果:
-webkit-mask-image: url(... /images/tron_mask.png);
-webkit-mask-repeat: no-repeat;
-webkit-mask-size: 100% 100%;
-webkit-transform: matrix3d(0.64,0,0.64,0,0,0.83,0,0,-0.53,0,0.76,0,0,0,0,1);
-webkit-transform-style: preserve-3d;
-webkit-transition-duration: 0.5s;
-webkit-transition-timing-function:立方bezier(0,0,0.58, 1);
这部分CSS3只会在基于webkit的浏览器上呈现:Safari和Chrome. Firefox和Opera将不承认这些专有样式规则.
A more standards-based approach would be to use mask, transform, and transition CSS rules using both -webkit-, -moz- and -o- prefixes. 苹果可以坦率地说明这些功能的草案状态和浏览器实现的当前差异.
The Description
The description 下面的视频主要谈论的是Safari专有的HTTP流媒体技术:
HTML5视频标签允许你在网站的代码中集成视频.
Safari提供HTTP流媒体,因此播放质量可以动态调整
有线或无线网络的可用速度-完美的观看
移动设备,如iPad、iPhone和iPod Touch.
Unfortunately, HTTP Live Streaming 仅适用于iPad, iPhone, iPod Touch和Mac OSX 10.6 (with Quicktime X). Additionally, 这项技术需要将视频编码成一种模糊的格式:数百个小的MPEG-TS片段, glued together using M3U8 playlists. 这些视频文件是完全无用的任何其他浏览器或媒体播放器.
一种更基于标准的方法是解释寻找视频中未下载的部分(如YouTube)是可能的. 所有HTML5浏览器都支持这种使用HTTP范围请求的功能. HTML5视频在带宽检测和实时比特率切换方面基本上没有能力.
HTML5 is About Standards
苹果似乎忘记了,当Flash在几年前开始支持视频时,它解决了一个大问题. 突然间,在页面上轻松显示视频成为可能, regardless of browser or operating system. Only one chunk of code and only one video file were needed; plugin daisychains and forced installations were a thing of the past. 由于其无处不在,Flash有效地推动了过去几年在线视频的激增.
Similarly, HTML5 Video最大的潜力在于它将成为一项被广泛采用和高度标准化的技术. 而苹果可能将其视为与Flash在功能上不相上下的一种手段, 大多数web开发人员将其视为在网页中包含视频而无需担心插件支持的简单解决方案. Web标准就是要彻底消除不兼容的障碍. They are not 用专有的浏览器插件取代插件,这正是苹果在这里所做的.
如果苹果开始提倡使用跨浏览器的HTML5 Video,那就太棒了, 诚实地面对今天的技术能做什么和不能做什么. Alternatively, 苹果最好能告诉开发者它的演示到底是什么:一个展示其Safari/QuickTime产品栈视频功能的绝佳展示. 无论如何,苹果应该停止将供应商特定的实现标记为web标准. 这会让web开发人员感到困惑,并将导致一个浏览器不兼容的新时代,这将减缓html5的整体采用,以及它给世界各地的web开发人员带来的便利.
Related Articles
苹果内置的视频播放器获得了合并多个剪辑和导出音频文件的能力.
22 Jul 2011