Firefox 33 及更高版本

Firefox 33 及更高版本

根据Firefox 26 发行说明,h.264 视频现在应该可以在 Linux 中工作了。它还说需要安装适当的 gstreamer 插件。有人知道这些是什么吗?

我用过这个测试站点YouTube HTML5 页面验证 h.264 支持是否在我的 Ubuntu 12.04 64 位上的 Google Chrome 中有效,但在 Firefox 26 上无效。

答案1

适用于 12.04 / 14.04 / 18.10

刚刚访问了 HTML5 Youtube 测试并且我已经检查了 H.264;您可能需要安装 Ubuntu 限制附加功能才能获取 gstreamer 编解码器。

sudo apt-get install ubuntu-restricted-extras

您可能需要重新启动。

在此处输入图片描述

答案2

对于 14.04

上述解决方案不再适用于 Trusty Tahr 14.04。原因是软件包 gstreamer0.10-ffmpeg 已被 gstreamer1.0-libav 取代,但 Firefox 计划仅在版本 30 中支持 gstreamer 1.0。

因此,与此同时,您可以在此处从 saucy 安装适合您的架构的 gstreamer0.10-ffmpeg:

答案3

Firefox 33 及更高版本

Mozilla 增加了对OpenH264作为插件Firefox 33. 要启用此插件 Firefox 现在将自动地从下载二进制文件OpenH264 网站第一次启动该程序时。

声音很棒,不是吗?等等……这是个双关语。

虽然这确实是一个非常方便的解决方案,但当软件自动从思科系统或其他公司附属的网站下载二进制文件时,它也应该引发隐私和安全问题,无论流程和许可协议多么透明。

不直接相关,但如果您希望在 Firefox 关闭时自动删除 cookie,并且找不到正确的 cookie 来保留以进行持久 HTML5 播放,那么我建议安装YouTube 全部 HTML5

使用 14.04.2 和 15.04 VM 进行测试

我猜想仅安装 H.264 解码器二进制文件是不够的,因此我设置了 2 个新的虚拟机:

  • 安装过程中安装了受限附加组件的 Ubuntu 14.04.2
  • Ubuntu 15.04没有安装过程中安装的限制插件

两个虚拟机的安装完成后,我启动了系统,再次更新了它们,安装了虚拟机客户机添加程序,首次启动了 Firefox,然后重新启动以进行实际测试。

由于 YouTube 也提供开源WebM格式,我想避免过多地讨论测试方法,我需要使用另一个支持 HTML5 的网站来测试专有的 H.264 播放支持。我选择了 Vimeo,因为他们说他们默认为 HTML5但他们没有似乎支持 WebM,我认为这不是一件好事。

每当我在测试中做出一些更改时,例如安装软件包或在 Firefox 中启用/禁用某些内容,我都会关闭并再次启动 Firefox。

14.04.2 带有受限插件

在此处输入图片描述

正如您在该屏幕截图中看到的,Firefox 中仅启用了 OpenH264 插件,所有必要的不同版本的 GStreamer 包都已预先安装,并且视频可以按预期播放。

15.04 无限制插件

在此处输入图片描述

正如您在屏幕截图中看到的,OpenH264 插件已启用,没有 Flash 插件,预装了几个不同版本的 GStreamer 包,但视频无法播放!相反,网站立即告诉我们视频无法播放。这是为什么呢?

在此处输入图片描述

  • 缺少 AAC!——简单来说,服务器上有一个文件被输入到我们的浏览器中。如果您使用 Firefox 上下文菜单中的检查器查找它,您将找到一个带有 AAC 编码音频的 MP4。错误消息可能更清楚,但这是有道理的,因为我们目前没有安装 AAC 解码器。
  • 更新:再次研究 Firefox 41 中的这个问题,我发现 OpenH264 似乎在 about:config 中被禁用了:

    media.fragmented-mp4.exposed;false
    media.fragmented-mp4.gmp.enabled;false
    

    设置这些true没有效果。我尝试了其他设置:

    • media.audio_data.enabled;true没有效果。
    • media.mediasource.enabled;trueVimeo 之前没有使用 MSE,启用这些设置和相关设置没有效果。
    • media.fragmented-mp4.use-blank-decoder;true结果:纯绿色画布和恒定的正弦波音频信号。

15.04受限制的附加组件

一个聪明的方法是安装gstreamer1.0-plugins-bad-faad,但这并不能消除 Vimeo 上的特定错误消息,所以让我们安装所有受限制的附加组件。

在此处输入图片描述

正如预期的那样,如果你安装了受限的附加组件包,一切都会正常然后,但您可能需要将 Flash 插件设置为enabledFirefox 以外的其他插件,以确保使用 HTML5 视频。

分析或让它破裂

在此处输入图片描述

显然,gstreamer1.0-libav这是唯一需要删除的软件包,才能恢复错误消息。所以它使用了 libav 的 AAC 解码器?我没有深入挖掘以寻找证据,也没有寻找首选解码器(例如,OpenH264 目前在 Linux 上是否有用)或 Vimeo 是否由于安装了 H.264 和 AAC 解码器但其他依赖项未得到满足而抛出此错误消息。

总结与展望

总而言之,播放当前主流内容不仅需要 H.264 解码器,还需要 AAC 解码器,而 H.265 已经准备取代旧版本。此外,我还没有看到相应的采用 H.264 的 MP4 规范在可预见的未来将会转向推荐更加开源友好的音频编解码器。

认真地推动 WebM!VP8 + Vorbis 是 H.264/AVC 的竞争者,VP9 + Opus 是 H.265/HEVC 的竞争者。

答案4

使用 Firefox30 你必须安装 gstreamer 1.0。您还应该安装大多数插件:bad、ugly、……

不要被包名称混淆,你应该安装: gstreamer1,而不是 gstreamer (一/1版本号是软件包的一部分,而不是“版本”)。所有插件都适用相同的规则:“gstreamer1-plugins-...”

这里有一个更完整的 URL,可以测试您的浏览器 html5 功能和编解码器支持: http://html5test.com/

相关内容