HTML5视频格式最佳实践

Wil*_*iam 3 javascript video html5

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

我对HTML5视频的理解是有三种可能的格式:MP4,OGG和WEBM. 似乎所有浏览器都支持MP4,而其他两个浏览器支持较少.

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

Bul*_*ral 7

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

谷歌已经宣布在2011年取消 Chromium项目的h.264支持,但Chrome仍然支持它.

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

MPEG LA同时继续宣布它不会对他们在互联网上使用的格式收费,这实际上并不能使h.264/MP4格式完全免费.

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

上传后的转换几乎是必须的.视频编码器和包装器具有大量不同的参数,如果您接受按原样上传的视频,您最终可能会遇到丛林.

Youtube会对视频进行重新编码,并且有一些证据表明他们至少使用ffmpeg来执行某些任务.