HTML5视频格式最佳实践

时间:2017-02-19 20:50:47

标签: javascript html5 video

我正在努力添加将视频上传到我正在开发的CMS的功能,我对上传视频的“最佳做法”感到有些困惑。视频将使用Video.js库播放。

我对HTML5视频的理解是有三种可能的格式:MP4,OGG和WEBM。 It would appear所有浏览器都支持MP4,而其他两个浏览器则不受支持。

  • 如果我想允许用户上传任何类型的视频,那么我是否必须将他们上传的内容转换为适用于HTML5的格式?或者我有什么不同的方式可以解决这个问题?
  • 如果基本上支持MP4,那么包含其他两种格式的重点是什么?如果我在用户上传后转换视频,我应该将视频转换为所有三个版本吗?
  • 我认为当您将视频上传到YouTube时,他们会将视频转换为正确的格式吗?或者他们怎么能够播放任何视频格式?
  • 是否有可用于快速转换上传视频的库或技术?

1 个答案:

答案 0 :(得分:6)

MP4(详见h.264压缩和MP4容器)拥有私人公司MPEG LA持有的许可/权利。这就是为什么有些浏览器想要避免依赖它。虽然浏览器不太可能放弃现有的支持,但许可证问题阻碍了开发人员认为浏览器对MP4 / h.264的支持将永远持续下去。

Google已于2011年宣布Chromium项目it would remove h.264 support,但Chrome仍然支持它。

Google的VP8和VP9(以及WEBM容器)拥有免费且开放的许可。但由于竞争,并非所有其他浏览器都愿意支持VP8-9 / WEBM。这可能会及时改变/改善。例如,虽然没有任何Internet Explorer版本具有WEBM支持Edge does。显然,只在主流浏览器中应用Safari,缺乏WEBM支持。

在此期间,MPEG LA继续宣布it will not charge for their formats use on the internet,这实际上并没有使h.264 / MP4格式完全免费。

因此,这些网站必须提供视频内容,以便仔细考虑其浏览器/格式支持。我相信至少应该创建每个视频的MP4和WEBM副本,即使MP4部分内容在几年内可以安全清除。

上传后的转换几乎是必须的。视频编码器和包装器有很多不同的参数,如果您接受上传的视频,最终可能会出现丛林。

Youtube会对视频进行重新编码,并且有一些evidences他们正在使用ffmpeg至少执行某些任务。