【问题标题】:HTML5 Video Format Best PracticesHTML5 视频格式最佳实践
【发布时间】:2017-02-19 20:50:47
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以使用ffmpeg在服务器上将媒体转换为不同的格式,并使用<source>元素作为<video>的子节点html播放不同的媒体(如果浏览器支持)。
  • 是的,我正在查看 github.com/AydinAdn/MediaToolkit 来转换视频 - 但我应该将视频转换为所有三种格式,还是仅将它们转换为 MP4 格式就足够了?
  • "如果 MP4 基本上到处都支持," 不是。我不知道有多少 UA 不想支付版税,但我可以说至少 Chromium 不支持,也不支持 mp4。
  • @William 你最终为此实施了什么?

标签: javascript html video


【解决方案1】:

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 至少完成一些任务。

【讨论】:

  • 谢谢!这正是我需要的信息类型 -​​ 我将确保每个上传文件的至少一个 MP4 和 WEBM 副本包含在 HTML 视频中 -
  • 不客气。我做了一些语法更正,并在我的答案中添加了更多细节,但没有改变其核心含义,以使其对每个人都更有帮助。
  • @BulentVural HLS 怎么样?在支持它的浏览器上是否更可取?据我了解,它将允许浏览器流式传输文件而不是下载整个文件?
猜你喜欢
  • 2018-07-30
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2015-11-08
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多