Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] HTML5 video in Opera
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Astronome
Tux's lil' helper
Tux's lil' helper


Joined: 02 Jan 2016
Posts: 148

PostPosted: Sat May 07, 2016 10:53 pm    Post subject: [Solved] HTML5 video in Opera Reply with quote

I'm trying to watch this movie in Opera 36 but keep getting the error "no compatible source was found for this video". I think it uses H.264 encoding, which I attempted to enable by following these instructions: I emerged media-video/ffmpeg-2.8.6, which put a libffmpeg.so file in /usr/lib64/opera, then I copied the file to /usr/lib64/opera/lib. I still can't watch the video, however, and HTML5test still says I'm lacking H.264 support:

Code:

Video 31/35
video element            Yes ✔
Subtitles                Yes ✔
Audio track selection    No ✘
Video track selection    No ✘
Poster images            Yes ✔
Codec detection          Yes ✔

Advanced
DRM support              Yes ✔
Media Source extensions  Yes ✔

Codecs
MPEG-4 ASP support       No ✘
H.264 support            No ✘
Ogg Theora support       Yes ✔
WebM with VP8 support    Yes ✔
WebM with VP9 support    Yes ✔


I'm able to watch YouTube videos, but this page also says I'm missing H.264.

I've searched all over these forums and all over Google, figuring it would be a fairly common problem. What am I missing?


Last edited by Astronome on Tue May 10, 2016 8:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 723
Location: /home

PostPosted: Sun May 08, 2016 6:27 am    Post subject: Reply with quote

Oh yes, I remember this problem when I used Opera. Its been a long time ago, but for me the fix was installing “chromium-codecs-ffmpeg-extra” from Ubuntu repositories.

For me, ffmpeg package doesnt provide libffmpeg.so I could copy. Where did you get that? Also, if thats the case, be sure your ffmpeg is compiled with x264 use flag.

Anyway, I made my own ebuild to download and install the Ubuntu version. You just have to make sure the Chromium version in your Opera matches the one in chromium-codecs-ffmpeg-extra, as far as I know Opera-36 uses Chromium-49. So try to find chromium-codecs-ffmpeg-extra-49.your.operas.chromium.version, for example, chromium-codecs-ffmpeg-extra-49.0.2623.87, and it should work. You can see the chromium version somewhere in Operas "about" page.

Heres the ebuild I used, remember to rename it for correct version.
Code:
% cat chromium-codecs-ffmpeg-extra-49.0.2623.87.ebuild
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit unpacker

DESCRIPTION="Extra ffmpeg codecs for the Chromium Browser"
HOMEPAGE="https://ffmpeg.org/"
SRC_URI="http://mirrors.kernel.org/ubuntu/pool/universe/c/chromium-browser/${PN}_${PV}-0ubuntu0.15.10.1.1222_amd64.deb"

LICENSE="LGPL2.1"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND=""
RDEPEND="${DEPEND}"

S=${WORKDIR}

src_unpack() {
   unpack_deb ${A}
}

src_install() {
   mv * "${D}" || die
}


Of course, you can just manually download and move the libffmpeg.so too.

It should work, but in case it doesnt, take a look at https://aur.archlinux.org/packages/opera-ffmpeg-codecs/ this page.

Good luck!

I use Vivaldi nowadays and it works when I install http://repo.herecura.eu/herecura/x86_64/vivaldi-ffmpeg-codecs-50.0.2661.94-1-x86_64.pkg.tar.xz this file into /opt/vivaldi, so easy.
Back to top
View user's profile Send private message
Astronome
Tux's lil' helper
Tux's lil' helper


Joined: 02 Jan 2016
Posts: 148

PostPosted: Sun May 08, 2016 4:56 pm    Post subject: Reply with quote

Juippisi wrote:
For me, ffmpeg package doesnt provide libffmpeg.so I could copy. Where did you get that?


Actually, that file apparently belongs to Opera and not the ffmpeg package:

Code:

$ equery f opera
 * Searching for opera ...
 * Contents of www-client/opera-36.0.2130.65:
/usr
/usr/bin
/usr/bin/opera -> ../lib64/opera/opera
/usr/lib64
/usr/lib64/opera
/usr/lib64/opera/content_shell.pak
/usr/lib64/opera/extensions_shell_and_test.pak
/usr/lib64/opera/icudtl.dat
/usr/lib64/opera/keyboard_resources.pak
/usr/lib64/opera/libffmpeg.so
/usr/lib64/opera/libfreetype.so.6


According to this article, all the *.so files should be copied to opera/lib after building ffmpeg:

Code:

sudo cp -Pv /tmp/opera-ffmpeg/lib/*.so* /usr/lib/x86_64-linux-gnu/opera/lib


In that case, maybe it's referring to the avcodec libs?

Code:

$ equery l ffmpeg
...
/usr/lib64/libavcodec.so -> libavcodec.so.56.60.100
/usr/lib64/libavcodec.so.56 -> libavcodec.so.56.60.100
/usr/lib64/libavcodec.so.56.60.100
/usr/lib64/libavdevice.so -> libavdevice.so.56.4.100
/usr/lib64/libavdevice.so.56 -> libavdevice.so.56.4.100
/usr/lib64/libavdevice.so.56.4.100
/usr/lib64/libavfilter.so -> libavfilter.so.5.40.101
/usr/lib64/libavfilter.so.5 -> libavfilter.so.5.40.101
/usr/lib64/libavfilter.so.5.40.101
/usr/lib64/libavformat.so -> libavformat.so.56.40.101
/usr/lib64/libavformat.so.56 -> libavformat.so.56.40.101
/usr/lib64/libavformat.so.56.40.101
/usr/lib64/libavresample.so -> libavresample.so.2.1.0
/usr/lib64/libavresample.so.2 -> libavresample.so.2.1.0
/usr/lib64/libavresample.so.2.1.0
/usr/lib64/libavutil.so -> libavutil.so.54.31.100
/usr/lib64/libavutil.so.54 -> libavutil.so.54.31.100
/usr/lib64/libavutil.so.54.31.100
/usr/lib64/libpostproc.so -> libpostproc.so.53.3.100
/usr/lib64/libpostproc.so.53 -> libpostproc.so.53.3.100
/usr/lib64/libpostproc.so.53.3.100
/usr/lib64/libswresample.so -> libswresample.so.1.2.101
/usr/lib64/libswresample.so.1 -> libswresample.so.1.2.101
/usr/lib64/libswresample.so.1.2.101
/usr/lib64/libswscale.so -> libswscale.so.3.1.101
/usr/lib64/libswscale.so.3 -> libswscale.so.3.1.101
/usr/lib64/libswscale.so.3.1.101
...


Edit: this is the result of following the instructions in that article:

Code:

$ find builds/ffmpeg -name "*.so*"
./libavcodec/libavcodec-opera.so.57
./libavcodec/libavcodec-opera.so
./libavformat/libavformat-opera.so.57
./libavformat/libavformat-opera.so
./libswresample/libswresample-opera.so
./libswresample/libswresample-opera.so.2
./libavutil/libavutil-opera.so
./libavutil/libavutil-opera.so.55
./libavfilter/libavfilter-opera.so.6
./libavfilter/libavfilter-opera.so
./libavdevice/libavdevice-opera.so.57
./libavdevice/libavdevice-opera.so
./libswscale/libswscale-opera.so.4
./libswscale/libswscale-opera.so


I tried copying all of these to opera and opera/lib folders, with and without the "-opera" suffix, with no difference.

Quote:
You just have to make sure the Chromium version in your Opera matches the one in chromium-codecs-ffmpeg-extra, as far as I know Opera-36 uses Chromium-49.


What do you mean by "Chromium in my Opera?" This is what is shown on opera://about page:

Quote:

Opera 36.0

Do more on the web

Version information

Version: 36.0.2130.65 - New version 37.0.2178.32 is available
Update stream: Stable
System: Gentoo/Linux (x86_64; Unknown)
Browser identification

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 OPR/36.0.2130.65


Quote:

I use Vivaldi nowadays and it works when I install http://repo.herecura.eu/herecura/x86_64/vivaldi-ffmpeg-codecs-50.0.2661.94-1-x86_64.pkg.tar.xz this file into /opt/vivaldi, so easy.


Thanks, I will check it out as soon as I can break my dependency on LastPass. At least the size of Vivaldi seems comparable to Opera (~43 MiB), which is one reason I use it.

Edit 2: after changing the SRC_URI in your ebuild to "http://mirrors.kernel.org/ubuntu/pool/universe/c/chromium-browser/${PN}_${PV}-0ubuntu0.15.10.1.1223_amd64.deb" and merging it, Opera just crashes when I try to watch that video. Is it because the version is for Chrome/49.0.2623.108 and I am using Chrome/49.0.2623.110?
Back to top
View user's profile Send private message
Astronome
Tux's lil' helper
Tux's lil' helper


Joined: 02 Jan 2016
Posts: 148

PostPosted: Tue May 10, 2016 8:43 pm    Post subject: Reply with quote

There was an update to Opera yesterday from 36.0.2130.65 to 37.0.2178.32. I thought I would have to wait for a new codec to be uploaded to http://mirrors.kernel.org/ubuntu/pool/universe/c/chromium-browser, but it suddenly works. So, uh... solved?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum