javascript - HTML5 视频格式最佳实践

标签 javascript html video

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

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

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

最佳答案

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

Google 已宣布 it would remove h.264 support来自 2011 年的 Chromium 项目,但 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至少完成他们的一些任务。

关于javascript - HTML5 视频格式最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42332711/

相关文章:

javascript - 从 SELECT 中的多个选择中获取值

javascript - 在 div 的 javascript 隐藏/显示上切换单选按钮

html - 将 OTF 字体添加到网页

javascript - 如何仅使用 JS 和 HTML 创建按钮

c - FFMPEG:视频解码器解析器的工作原理

javascript - 仅使用 JS 检测 net::ERR_FILE_NOT_FOUND

javascript - 是否可以将网站的一部分嵌入到我的网站中?

JavaScript:让代码每分钟运行一次

javascript - 在 Javascript 中判断视频是否加载

video - FFmpeg 错误 : ratecontrol_init: can't open stats file