After installing Fedora Silverblue 33, I noticed that the videos are not playing in browsers. Especially, the videos in social networks like Facebook and Twitter are not playing. Because some multimedia codecs like H.264 are not installed by default in Silverblue. In this quick tutorial, let me show you how to enable H264 on Chromium and Firefox in Fedora Silverblue 33.
Advanced Video Coding, or shortly AVC, is a digital video compression standard. It is also known as H.264 or MPEG-4 AVC. Compared to MPEG-2 (the DVD standard), H264 only uses half the space to deliver the same quality video. Hence H264 is widely used by 91% of video streaming services such as Youtube, Netflix, Vimeo, and iTunes store etc.
In order to play many media formats, we need to install the necessary multimedia codecs like H264 on Fedora Silverblue.
Table of Contents
Add RPM Fusion repository on Fedora Silverblue
Many video codecs are non-free, so they are not included in Fedora default repositories and Flathub. So adding RPM Fusion repository is necessary. RPM Fusion repository provides the software which are not included in Fedora and Red Hat.
To add RPM Fusion free and nonfree repositories on Fedora Silverblue, run:
$ rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Sample output:
Downloading https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-33.noarch.rpm…done Downloading https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-33.noarch.rpm…done Checking out tree 43462d3… done Enabled rpm-md repositories: fedora-cisco-openh264 fedora updates updates-archive rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2020-08-25T19:10:34Z rpm-md repo 'fedora' (cached); generated: 2020-10-19T23:27:19Z rpm-md repo 'updates' (cached); generated: 2021-04-04T00:56:39Z rpm-md repo 'updates-archive' (cached); generated: 2021-04-05T01:34:14Z Importing rpm-md… done Resolving dependencies… done Checking out packages… done Running pre scripts… done Running post scripts… done Running posttrans scripts… done Writing rpmdb… done Writing OSTree commit… done Staging deployment… done Freed: 296.0 MB (pkgcache branches: 0) Added: rpmfusion-free-release-33-1.noarch rpmfusion-nonfree-release-33-1.noarch Run "systemctl reboot" to start a reboot
After adding the RPM Fusion repository, you must reboot your system to enable it.
$ systemctl reboot
Enable H264 On Chromium And Firefox In Fedora Silverblue
First, let us enable H264 support for Chromium browser. Install Chromium version from the official repositories:
$ rpm-ostree install chromium
Next, install all media codecs for the latest Chromium browser by installing the chromium-libs-media-freeworld
package:
$ rpm-ostree install chromium-libs-media-freeworld
Similarly, to enable H264 support for Mozilla Firefox, the command would be:
$ rpm-ostree install mozilla-openh264
Now reboot your system to apply the changes.
$ systemctl reboot
Now verify if H.264 support is enabled by visiting the YouTube URL -> https://www.youtube.com/html5.
This is how I added H.264 support for Chromium and Firefox browsers in Fedora Silverblue 33. After enabling H264, I could be able to play all type of media formats without any issues.
Install VLC, Gnome Videos, Celluloid
The previous method is perfectly fine to install and enable most commonly required multimedia codecs in Silverblue. In addition, you can install VLC or Gnome Videos (Totem) or Celluloid (Formerly Gnome Mpv) to get all necessary codecs.
To install VLC on Fedora Silverblue, run:
$ flatpak install flathub org.videolan.VLC
To install Gnome Videos on Fedora Silverblue, run:
$ flatpak install flathub org.gnome.Totem
Another popular media player is Celluloid that has codecs to play all type of media files. To install Celluloid on Fedora, run:
$ flatpak install flathub io.github.celluloid_player.Celluloid
At this stage, you should have all necessary multimedia codecs installed on your Fedora Silverblue system.
Resource: