Win 150$ in dogecoins every hour!

How to enable h264 codec on Fedora 28

If you are running Fedora 28 you might have some issues with playing some type of videos in Firefox, Chromium and Vivaldi browsers.

You might be presented with a following type of error when trying to open video stream:
H.264 (High Profile) decoder is required to play the file, but is not installed

Also when visiting https://www.youtube.com/html5 you will see that browser does not support H.264 and MSE & H.264.

Here is how to enable H.264 for specific browsers.

Firefox

First you need to install and enable rpmfusion-free and rpmfusion-nonfree repositories.
Following command will install both RPM Fusion repositories.

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

After that install compat-ffmpeg28 and ffmpeg-libs packages

sudo dnf install compat-ffmpeg28 ffmpeg-libs
Chromium

Chromium supports Vorbis, Theora, WebM and HTML5 audio and video standards, but does not include the non-free AAC, H.264, MP3 or Adobe Flash code that is found in Chrome.

To add H.264 you need to install chromium-libs-media-freeworld package from RPM Fusion.

Install RPM Fusion repositories.

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

Install chromium-libs-media-freeworld package.

sudo dnf install chromium-libs-media-freeworld
Vivaldi

For Vivaldi you need to follow same steps as for Chromium, and add an extra step of copying a file to Vivaldi directory.

Install RPM Fusion repositories.

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

Install chromium-libs-media-freeworld package.

sudo dnf install chromium-libs-media-freeworld

Copy /usr/lib64/chromium-browser/libffmpeg.so to /opt/vivaldi/lib/.

sudo cp -av /usr/lib64/chromium-browser/libffmpeg.so /opt/vivaldi/lib/
cp: overwrite '/opt/vivaldi/lib/libffmpeg.so'? y
removed '/opt/vivaldi/lib/libffmpeg.so'
'/usr/lib64/chromium-browser/libffmpeg.so' -> '/opt/vivaldi/lib/libffmpeg.so'

Last step will need to be repeated after every Vivaldi update.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Win 200$ in Bitcoins every hour!