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.