我想知道 HTML5<video>
标签现在是否支持播放 .avi 格式的视频文件。
4 回答
简短的回答:不。请改用 WebM 或 Ogg。
本文涵盖了您需要了解的有关<video>
元素的所有内容,包括哪些浏览器支持哪些容器格式和编解码器。
具有合理支持级别的格式有三种:H.264 (MPEG-4 AVC)、OGG Theora (VP3) 和 WebM (VP8)。请参阅 Sam 链接的 wiki,了解哪些浏览器支持哪些;您通常需要至少其中之一加上 Flash 后备。
虽然大多数浏览器不会接触 AVI,但有一些浏览器版本将底层操作系统的所有多媒体功能暴露给<video>
. 这些浏览器确实能够播放 AVI,只要它们安装了匹配的编解码器(AVI 可以包含大约一百万种不同的视频和音频格式)。特别是 OS X 上的 Safari 和 QuickTime,或 Konqi 和 GStreamer。
就我个人而言,我认为这绝对是一个灾难性的想法,因为它向网络公开了一个非常大的编解码器代码库,这个代码库大多不是为了抵抗网络攻击而编写的。媒体播放器插件最严重的缺点之一是它们为每个网页利用提供了大量的安全漏洞。我们不要再犯这个错误了。
当前的 HTML5 草案规范没有指定浏览器应该在 video 标签中支持哪些视频格式。用户代理可以自由地支持他们认为合适的任何视频格式。
HTML 规范从不指定任何内容格式。那不是它的工作。有很多标准组织比 W3C 更有资格指定视频格式。
这就是内容协商的目的。
- HTML 规范没有为
<img>
元素指定任何图像格式。 - The HTML specification doesn't specify any style sheet languages for the
<style>
element. - The HTML specification doesn't specify any scripting languages for the
<script>
element. - The HTML specification doesn't specify any object formats for the
<object>
andembed
elements. - The HTML specification doesn't specify any audio formats for the
<audio>
element.
Why should it specify one for the <video>
element?