Opera 31 broke the compatiblity with ffmpeg in Ubuntu 14.04
-
jacobgkau last edited by
Another 15.04 user here. I'm having the same problem, ffmpeg no longer works (I previously followed the same ghost.io guide.) Now MP4/H.264 video and MP3 audio don't work any more.
So just to be clear, we're supposed to follow this new guide now? We have to download Chromium's source code, use a git command, and apply a patch, just to get H.264 and MP3 playback working?
-
gustavwiz last edited by
Okay, then we can sum this up: Before Opera 31, you could fix H.264 support with Ruarรญโs guide (http://ruario.ghost.io/2014/12/19/adding-h-264-video-support-to-opera-for-linux/), but now with Opera 31+ that no longer works, and you have to follow avl's guide (https://gist.github.com/lukaszzek/ec04d5c953226c062dac) in order to get H.264 support, which is way too complicated.
-
Deleted User last edited by
It seems I found a easier way to download the Chromium source.
git clone https://chromium.googlesource.com/chromium/src
-
Deleted User last edited by
That is odd. I never had to compile ffmpeg to have H264 support in Ubuntu. I just had to install ffmpeg.
-
Deleted User last edited by
And I have ffmpeg installed too, but Opera doesn't see it.
And the last update broke Ubuntu 15.04 too, that uses ffmpeg by default instead of the bare libav.
The worst thing is that Opera is the only Chromium browser that gives me problems with the multimedia support. Chromium, Chrome and Maxhton work perfect.
-
jacobgkau last edited by
From my understanding, the reason Chromium works fine is because it now ships with its own multimedia libraries. Opera can't include those libraries due to licensing issues, and since Opera is based on Chromium, and Chromium now has its own libraries (and no longer supports using system libraries since there's no need to), Opera is stuck with not having any built-in libraries and not supporting any external ones. (Is this correct? It's just what I pieced together from blog comments and forum posts.)
I'd also like to add that for some reason, YouTube still seems to think that Opera has H.264 support (see youtube.com/html5), which leads to video playback errors when it tries to serve MP4 videos. YouTube still works fine when the videos are served in WebM. Eventually we'll want these issues resolved, but for the time being, is there at least a way to tell YouTube that my browser doesn't support H.264?
-
gustavwiz last edited by
'd also like to add that for some reason, YouTube still seems to think that Opera has H.264 support (see youtube.com/html5), which leads to video playback errors when it tries to serve MP4 videos. YouTube still works fine when the videos are served in WebM. Eventually we'll want these issues resolved, but for the time being, is there at least a way to tell YouTube that my browser doesn't support H.264?
I have the exact same problem. Youtube lies about that I have working H.264. On youtube this is fine, because whenever there is a H.264 video it will switch to flash, but on other sites that only have H.264 video, I have to switch to Firefox of Chrome.
-
gustavwiz last edited by
That is odd. I never had to compile ffmpeg to have H264 support in Ubuntu. I just had to install ffmpeg.
The problem was that if you had Ubuntu 15.04 and installed the ffmpeg package, it would come with a bug that made Opera crash. So instead we had to compile ffmpeg ourselves, or add another special ppa. But now even those workarounds don't work! As @metallinux said in another thread, this is becoming a nightmare.
-
matthieu1985 last edited by
I've found much simpler workaround than that guide which by the way is totally innacurate because there is no third_party/ffmpeg directory in chromium source code. At least not in Chrome/44.0.2403.107 (Opera Stable) and Chrome/45.0.2450.0 (Opera Developer) even master branch doesn't have that directory.
First you need to either install or download chromium-codecs-ffmpeg-extra package. You will find it in Ubuntu [universe] repo. Than you need to:
- Create lib_extra directory under /usr/lib/x86_64-linux-gnu/opera/ (for Opera Stable) or /usr/lib/x86_64-linux-gnu/opera-developer/ (for Opera Developer)
- Next copy libffmpegsumo.so from /usr/lib/chromium-browser/ to the directory created in first step
- Now rename libffmpegsumo.so to libffmpeg.so.31 (for Opera Stable) or libffmpeg.so.32 (in case of Opera Developer)
- Restart Opera
After that MP3 and H.264/MP4 are working for me in both Opera Stable and Opera Developer.
-
gustavwiz last edited by
@matthieu1985: Thank you very much, this worked, and it was very easy too.
However, it's still bad that you have to rename the file after each upgrade...
-
A Former User last edited by
@matthieu1985:
You can create symbol link:sudo ln -s /usr/lib/chromium-browser/libffmpegsumo.so /usr/lib/x86_64-linux-gnu/opera/lib_extra/libffmpeg.so.31
-
matthieu1985 last edited by
Yes of course you can create symbolic link instead of the whole copying and renaming but either way you will have to change that symlink when Opera Stable 32 releases to libffmpeg.so.32 and with every new version.
I really hope that Opera developers resolve this bug which I already reported to them a couple days ago.
-
Deleted User last edited by
I've the same issue on Fedora 22. The work-a-round with chromium doesn't work here, because chromium for fedora has no mp4/h.246 support. MP4 videos can only be downloaded.
-
A Former User last edited by
you will have to change that symlink when Opera Stable 32 releases to libffmpeg.so.32 and with every new version.
OK.
Create a new file
/etc/apt/apt.conf.d/99ownscript
DPkg::Post-Invoke {"/bin/bash /path/to/opera-ffmpeg-updater.sh"; };
-
gustavwiz last edited by
@beduine:
Can't you install google chrome then, and use it's H.264 codec?
When you've installed chrome, I think the installation should be here: /opt/google/chrome
-
avl Opera last edited by
I've found much simpler workaround than that guide which by the way is totally innacurate because there is no third_party/ffmpeg directory in chromium source code. At least not in Chrome/44.0.2403.107 (Opera Stable) and Chrome/45.0.2450.0 (Opera Developer) even master branch doesn't have that directory.
Yes there is: https://chromium.googlesource.com/chromium/third_party/ffmpeg/
The way you've outlined, copying Chrome's binary library, is indeed the solution we hope to arrive at. But notice that 1) it's very likely to break across versions, as Google makes changes to their ffmpeg version (this is why the .31, .32 is added: the libraries are not expected to be completely compatible with each other, using the wrong version you can easily end up with a crashing Opera - the only guaranteed way is to use the version of ffmpeg as shipped with the matching Chrome/Opera version) and 2) it's scheduled to disappear, as Chrome has now switched to statically linking ffmpeg (so future versions of Chrome will not feature a separate libffmpegsumo.so library at all).
you have to follow avl's guide (https://gist.github.com/lukaszzek/ec04d5c953226c062dac) in order to get H.264 support
Credit where credit is due, this guide was made by Lukasz Jagielski, not by me.
As I've explained elsewhere, Opera can't redistribute this version of ffmpeg ourselves due to licensing issues. However, if someone were to create a PPA containing a package created using the guide above, no one would stop you