解决Firefox在Fedora 24+上无法解码h264的问题

Youtube上的播放器为Html5播放器,Html5视频格式通常为theora/oggvp8/webmh264/mp4以及相应的MSE(Media Source Extensions)格式。至于MSE,援引MDN的解释:

MES 提供了实现无插件且基于 Web 的流媒体的功能。使用 MSE,媒体串流能够通过 JavaScript 创建,并且能通过使用 <audio><video> 元素进行播放。

通常Youtube上的直播都采用MSE播放,而且也不乏mp4格式的视频。而通常情况下,Fedora 24+上最新的Firefox默认都支持oog、webm及对应的MSE。

而mp4格式原先并不是开源的,不过后来也出现了开源版本,比如说OpenH.264。早些时候,Firefox的确是用Gstreamer OpenH.264解码mp4等格式,不过现在Firefox采用了ffmpeg库,所以如果不安装ffmpeg库,Firefox就无法播放mp4。

解决方案如下:

第一步:添加 RPM Fusion 开源软件源

sudo dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

第二步:安装ffmpeg

sudo dnf install ffmpeg-libs

重启Firefox,Youtube就可以畅通无阻了。

访问https://www.youtube.com/html5,可以检测Html5视频格式支持的情况,详见下图(Firefox 58.0a1):

Youtube-Html5
Youtube-Html5

附注:

  1. 如果是 Chromium 的话,可以安装 chromium-libs-media-freeworld 解决。
  2. 如果是 Ubuntu,可以安装 ubuntu-restricted-extras,这个东西也可以一次性安装好所有解码库。

参考:

  1. https://ask.fedoraproject.org/en/question/95637/h264-videos-not-working-in-firefox/
  2. MDN – Media Source Extensions API
  3. Wikipedia – Ogg
  4. Wikipedia -WebM
  5. Wikipedia – MPEG-4

作者: YanWen

Web 开发者

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s