解决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

作者: V

Web Dev

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s