默认情况下,如果你没有安装专门的解码器,Linux 系统无法播放大多数加密格式(专有媒体格式)的视频。

这其中涉及到的许多技术,比如 flash plugin、 gstreamer、 mp4、 libavcodec等等。他们很多并不是开源的,有时还有版权或法律问题。因此,这些包默认情况下不会安装,也不会随官方存储库一起提供。

如果您尝试在不安装媒体编解码器的情况下播放专有媒体格式,您将看到以下错误消息“Unable to play the file”。

在这个简短的教程中,我们将向您展示如何在 Ubuntu、Fedora 和 openSUSE 系统上安装媒体代码。

在 Ubuntu 中安装多媒体解码器

通过使用“ubuntu-restricted-extras”包,可以将必要的多媒体编解码器安装在 Ubuntu 及其衍生发行版中。它是一个包含各种多媒体包的软件包。

为了安装多媒体编解码器,您需要启用由 Ubuntu 创建的软件库 “multiverse”,这个库向用户提供非开源软件。

运行以下命令以启用 multiverse 和 restricted 存储库:

要启用“multiverse”存储库,请运行:

1
$ sudo add-apt-repository multiverse

要启用“restricted”存储库,请运行:

1
$ sudo add-apt-repository restricted

然后更新仓库索引,运行:

1
$ sudo apt update

最后,运行以下命令安装多媒体编解码器。它会让你进行两次确认,你只需要通过点击“回车”按钮进行确认。

1
$ sudo apt install ubuntu-restricted-extras

在 openSUSE 中安装多媒体解码器

通过启用第三方 Packman 软件库,就可以在 openSUSE 中安装多媒体编解码器了。

Packman 是最大的外部软件库,它为 openSUSE 提供各种附加包,不仅限于与多媒体相关的应用程序和库,还提供其他应用程序。

使用以下命令在 openSUSE 上启用 Packman 软件库。

对于 Tumbleweed 版本:

1
$ sudo zypper addrepo -cfp 90 'https://mirrors.cloud.tencent.com/packman/suse/openSUSE_Tumbleweed/' packman

对于 openSUSE Leap 版本:

1
$ sudo zypper addrepo -cfp 90 'https://mirrors.cloud.tencent.com/packman/suse/openSUSE_Leap_$releasever/' packman

要刷新本地软件库的数据库,请运行:

1
$ sudo zypper refresh

最后,通过运行以下命令安装所需的多媒体编解码器:

1
2
$ sudo zypper dist-upgrade --from packman --allow-vendor-change
$ sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec-full vlc-codecs

在 Fedora 中安装多媒体解码器

通过启用 RPM Fusion 软件库,可以在 Fedora 系统上安装多媒体编解码器。

RPM Fusion 存储库是由社区维护的软件存储库,提供因法律原因不能在 Fedora 中直接安装的附加软件包。

运行以下命令以启用 RPM Fusion 存储库(包括 free 和 nonfree):

对于 RPM Fusion free 软件库,请运行:

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

对于 RPM Fusion Non-free 软件库,请运行:

1
$ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

使用 dnf 命令安装提供多媒体库的软件包:

1
2
3
$ sudo dnf install gstreamer1-plugins-{bad-*,good-*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel
$ sudo dnf install lame* --exclude=lame-devel
$ sudo dnf group upgrade --with-optional Multimedia

如果安装过慢可以尝试使用国内的 RPM Fusion 镜像,具体方法可以参考腾讯软件源文档

在 Arch Linux 中安装多媒体解码器

由于 Arch Linux 是纯粹的社区发行版,可以规避一些法律风险。因此 Arch Linux 的官方软件源中就有一些多媒体包。

你只需要运行:

1
sudo pacman -Sy gst-plugins-{bad,good,base,ugly} gst-libav lame

就可以解决大部分的多媒体解码了。但是有时候你希望使用 VLC 解码,要么你可以直接安装 VLC:

1
sudo pacman -Sy vlc

如果你还需要 h.265 编码格式的解码,或者你想要 vlc 解码器,又不想安装 vlc 播放器。你可能需要启用 AUR。

使用 AUR 工具安装(你得提前安装好 yay,或者其他 AUR 工具):

1
yay -S gst-plugin-libde265 libvlc

总结:

在本指南中,我们向您展示了如何在 Ubuntu、Fedora、openSUSE 和 Arch Linux 系统上安装基本的多媒体编解码器。

如果您有任何问题或反馈,请随时在下面发表评论。学习愉快!