解决Fedora上Firefox无法播放流媒体

February 2, 2018

版本:Fedora 27,Firefox 58

今天在网易云音乐和虾米音乐在线听音乐时无法播放:网易云一直在加载状态;虾米弹窗说网络连接有问题。一看开发者工具里面的控制台,显示Cannot play media. No decoders for requested formats: audio/mpeg……。搞了半个小时,大致明白了原理和解决方法,如下。

原因

Console里讲得清楚:缺少mpeg解码器。Fedora坚持FOSS(Free and Open-Source Software)的原则,因此默认就没有mp3解码器——因为mp3格式属于专利格式。一直到此专利过期,也就是Fedora 25发布前,Fedora才宣布从25版本开始默认支持mp3. 但是只有mp3格式,其他MPEG技术仍然未支持。(英文原文:…, as only MP3 is cleared and not other MPEG technologies. 1)

解决方法

安装「ffmpeg」软件包来提供mpeg相关解码器。

1.添加RPM Fusion Free第三方源

因为Fedora官方源中没有ffmpeg,需先添加RPM Fusion

下面以Fedora 27添加RPM Fusion Free源为例:

$ wget https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-27.noarch.rpm && sudo rpm -Uvh rpmfusion-free-release-27.noarch.rpm

2.安装ffmpeg

$ sudo dnf install ffmpeg

3.重启火狐

此时就可以听音乐了。

本文完。