Cannot play live Youtube on other streams in Opera – no h264 support

operastreamingvideo

I have good reasons to use Opera as my default browser (I find it lighter than Firefox Quantum and Chrome/Chromium, I like its speed-dial bookmarks, as well as other features and details).

Opera browser cannot play Youtube streaming videos .

enter image description here

Normal (non-live) youtube videos work fine.

I know Youtube doesn't involve flash, but in order to debug this in a larger context it may prove usefull to say that the same browsers that do not play live streams in Youtube (Opera and Chromium) are also affected by a problem where they cannot play (at least) some other (probably flash) internet video streams – while Google Chrome and Firefox are not affected by neither of these problems.

Help me debug this.

I am in elementary OS Loki up-to-date, Opera 52.0.2871.40.

I have also posted this question: How to tell if an internet video is flash or html5 .


Edit

Installing chromium-codecs-ffmpeg-extra for the purpose of playing Vimeo videos (as indicated here) solved for Chromium all the problems I had with both Opera and Chromium (not playing live streams and a lot of other non-live online video): but not for Opera.

Best Answer

The solution may vary depending on the operating system.

See the Chrome base version of Opera at opera://about/.

enter image description here

For version 65.0.3325.181, download the opera-ffmpeg-codecs package from ArchLinux repository:

wget http://ftp5.gwdg.de/pub/linux/archlinux/community/os/x86_64//opera-ffmpeg-codecs-65.0.3325.181-1-x86_64.pkg.tar.xz

Extract it:

tar -xJf opera-ffmpeg-codecs-65.0.3325.181-1-x86_64.pkg.tar.xz

For other versions - as Opera will be updated in time and the above may not work anymore - see here: https://repo.herecura.eu/herecura/x86_64/. (Or search the internet for something like opera-ffmpeg-codecs-xxxxxx where xxxxxx is the relevant Chrome base version.)

Create the following directory:

sudo mkdir /usr/lib/x86_64-linux-gnu/opera/lib_extra/

Move the library to the right place:

sudo mv ./usr/lib/opera/lib_extra/libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/lib_extra/

Let me know if that helps or not.


Edit by cipricus:

This works. I am editing this a bit to make it more largely significant and add what I have found myself, then I'll mark it as solved and grant the bounty too.

This problem is to be put in the context of browser html5 support, more specifically support for h264 streams (which affected much more than Youtube live streams). To check html5 support, go to http://html5test.com/. h264 support seems to be lacking at the date of these posts in both Chromium and Opera but can be solved only separately. For Chromium:

sudo apt-get install chromium-codecs-ffmpeg-extra

The same package can be used for Opera by downloading the deb file from http://security.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/, extracting the libffmpeg.so and copying it as indicated.

The above was tested in Ubuntu-based systems.


In other systems Opera may have a different folder structure.

For Solus:

Based on this post.

Follow the Linux instructions at https://www.slimjet.com/en/libffmpeg.php You will want the x64 file. Download and extract it. Make a backup of /usr/lib64/opera/libffmpeg.so then, with administrator rights, copy the new libffmpeg.so file into /usr/lib64/opera, replacing the existing one.

You'll have to do this again after Opera updates.

Related Question