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.

How to fix Vivaldi “Your profile could not be opened correctly” error.

When starting Vivaldi browser on your device, you might be getting a following error message shown:

Your profile could not be opened correctly

Some features may be unavailable. Please check that the profile exists and you have permission to read and write its contents.

In addition to that, you might be missing website icons on your bookmarks, or some other issues.

Vivaldi error
Vivaldi error message

This error can be caused by missing files or wrong permissions on your profile folders, and seems to be happening mostly on Linux machines, but can show on Windows devices also.

If you have not made any changes to your system, it could be caused by hung or frozen Vivaldi processes preventing the access to all the necessary data.

Check for multiple Vivaldi processes

Before making any changes to your profile files and folders, check for a possible stale processes using Task Manager.

Right click on your taskbar, and open Task Manager from the menu.

Go to Processes tab, and check if you have multiple Vivaldi processes shown there.

Right click on those processes, and click on End task, to kill the process.

Task Manager
Task Manager

After you have killed all the processes, try to reopen browser again, to check if you will still have any errors on application startup.

Helpful links:

https://vivaldi.net/en-US/forum/vivaldi-browser-for-linux/10903-profile-can-t-be-opened-correctly

https://vivaldi.net/en-US/forum/vivaldi-browser-for-linux/3775-your-profile-could-not-be-opened-correctly