Enable H264 On Chromium And Firefox In Fedora Silverblue

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.

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.