Ruarí's thoughts

Using video with Opera 10.50 and above on Linux/UNIX

, , , , , , , , , , , , , , , , , , , , , , , , , , ,

For video to work in 10.50 (Evenes) on Linux/UNIX, you need the the GStreamer Multimedia Framework, the Base Plugins package and the main Good libraries. This ensures that the following are available on your system: libgstautodetect.so, libgstogg.so, libgsttheora.so, libgstvorbis.so, libgstwavparse.so.

On some distros there is one GStreamer Good package that contains everything and on others this is split into two packages, GStreamer Good (the main libraries) and GStreamer Good Plugins (the plugin libraries).

If you don't have these installed and are unsure exactly which packages will provide these libraries for your distro, you can use your distro's favoured method of searching for packages. Typically this will be search options within your package manager, but it may also be a dedicated wesbite. Generally you can install the GStreamer Good Plugins package and your package manager's dependency resolution will ensure you get any further packages you need. If you have a distro that splits "Good", you can be more selective and just install the main Good libraries, leaving out the Good plugins.

Here are examples of the name of appropriate package sets on some popular distros:

Ubuntu = gstreamer0.10-plugins-good
Fedora = gstreamer-plugins-good
openSUSE = gstreamer-0_10-plugins-good
Mandriva = gstreamer0.10-plugins-good
Debian = gstreamer0.10-plugins-good
Slackware = gstreamer-0.10, gst-plugins-base-0.10 and gst-plugins-good-0.10
Linux Mint = gstreamer0.10-plugins-good
Gentoo = media-libs/gst-plugins-good
Arch = gstreamer0.10-good
ALT Linux = gst-plugins-good

If you use a Linux distro not listed above, and you can't find a package with your distro's native package searching tools, you can also use generic search sites like rpmseek.com to assist you.

Finally, on FreeBSD installing 'gstreamer-plugins-core' should give you everything you require.

Note: I have not personally tested every single one of the examples above to ensure they are correct. If you see a mistake or would like me to add another distro (for which you already know the appropriate package name) please comment below.

Where can I download an Opera 10.50 rpm or deb?Getting the latest Mac snapshot with cURL

Comments

michalmisiu Friday, January 22, 2010 10:08:31 AM

What about mplayer and succerssor of mplayer-plugin: gecko-mediaplayer? It will be implemented in the future releases. IMHO mplayer is more popular than gstreamer (but I could be wrong).

Zotlan Friday, January 22, 2010 10:38:55 AM

Does this include the H.264 codec as well?

Martin RauscherHades32 Friday, January 22, 2010 12:22:34 PM

Will it be possible to get the full GStreamer (including H.264) on Windows?

Ruarí Ødegaardruario Friday, January 22, 2010 12:36:55 PM

@michalmisiu, Zotlan: Read the main video blog post.

@Hades32: Your question is better placed in that blog as well. I don't run Windows but Philip could probably answer you as to the plans.

Martin RauscherHades32 Friday, January 22, 2010 1:45:13 PM

Originally posted by ruario:

@Hades32: Your question is better placed in that blog as well. I don't run Windows but Philip could probably answer you as to the plans.


Thanks.

tomassplatch Friday, January 22, 2010 2:07:28 PM

Originally posted by Zotlan:

Does this include the H.264 codec as well?


No, the codec is in "gstreamer0.10-bad-plugins" package (or equivalent), but for me it only plays audio track.

edvakf Saturday, January 23, 2010 4:01:54 AM

@tomassplatch
Same here.

Ruarí Ødegaardruario Monday, January 25, 2010 2:42:36 PM

@tomassplatch, edvakf: I haven't had a chance to look into this yet. Have you logged a bug already by any chance?

P.S. Do you also have the good package(s) installed? See my updated blog post above.

tomassplatch Monday, January 25, 2010 4:15:06 PM

Originally posted by ruario:

P.S. Do you also have the good package(s) installed? See my updated blog post above.


I guess I do:
http://files.myopera.com/tomassplatch/files/gstreamer.png

I have all files you named in /usr/lib/gstreamer-0.10/, and many more, including "libgst264.so", which is responsible for decoding H.264 (I guess?).
Still, I can only hear audio, when trying to play youtube videos...


EDIT: Reported as DSK-277362

Ruarí Ødegaardruario Monday, January 25, 2010 5:42:05 PM

@tomassplatch: Thanks for reporting! I'll try and look into it soon wink

Ruarí Ødegaardruario Thursday, February 11, 2010 3:09:32 PM

@tomassplatch: sorry for the delayed reply. Been a little busy of late and whist H.264 does work on Opera UNIX/Linux it is not considered a key feature (just a nice bonus).

Anyway, this should fix your problem:
# pacman -Sy gstreamer0.10-ffmpeg

Ruarí Ødegaardruario Thursday, February 11, 2010 3:27:07 PM

@edvakf: I don't know which distro you use but I suspect you want a package that has a name something like one of the following: gst-plugins-ffmpeg, gstreamer-0_10-ffmpeg, gstreamer0.10-ffmpeg or gstreamer-ffmpeg

(Note: This is based on the naming of 'Plugins Good' across various distros)

Zotlan Thursday, February 11, 2010 4:05:25 PM

Originally posted by ruario:

@tomassplatch: sorry for the delayed reply. Been a little busy of late and whist H.264 does work on Opera UNIX/Linux it is not considered a key feature (just a nice bonus).


Works here on Opensuse, very nice.
(good to see that Google fixed the html5 youtube page)

tomassplatch Thursday, February 11, 2010 4:16:56 PM

Originally posted by ruario:

Anyway, this should fix your problem:

# pacman -Sy gstreamer0.10-ffmpeg


Thank you, working nicely now, although the controls of the video player are a little garbled.

Sasquatch Tuesday, March 2, 2010 3:10:57 PM

It's annoying, I just installed the last snapshot (6240), set YT to use HTML5 video and it still wants to serve me using flash, and Opera can't open flash, the plugin simply crashes. That's the problem of flash and 64 bit sad. I should have everything that is needed for video on YT, gstreamer-base, -good and -ffmpeg, but still flash video, that obviously fails.

Edit:
Strange, some video's are served with flash, others use HTML5 Video. I do get video, but no audio. I'll install the gstreamer-bad and -ugly, hope that will get things going.
Installed both ugly and bad, got audio after browser restart. No idea which one is responsible for the audio part though.

Another edit:
gstreamer-bad is responsible for the audio on YouTube, gstreamer-ffmpeg does the video.
Sidenote, I use Ubuntu. Others may need to look for the packages with similar names. Of course, I abbreviated the packagenames compared to the Ubuntu ones wink.

Annoynimousthe_Arioch Wednesday, March 3, 2010 12:42:32 PM

"you want a package that has a name something like one of the following: gst-plugins-ffmpeg, gstreamer-0_10-ffmpeg, gstreamer0.10-ffmpeg or gstreamer-ffmpeg"

It must be, that if someone would reverse-engineer proper Visua C++ settings, he'd be abel to compile needed GStreamer codecs and copy them into Opera GStreamer folder, adding support for MEPG4 video for Win32 Opera as well.

Can any Linux-savvy man suggest:
1) what GStreamer codecs need for MPEG4 to be played, both MPEG4 Simple aka xvid/divx and MPEG4 Advanced aka H.264 or ffmpeg codec alone is enough?
2) container on YouTube HTML5 is .mp4 with is reduced version of Apple .MOV ? What GStreamer pugin needed to support it, or ffmpeg codec alone is enough ?
3) sound on YouTube mp4 is mp3 (MPEG1 Layer 3) or mp4 (MPEG2 layer 4) or whatever ? To play it - which GStreamer codecs needed or ffmpeg codec alone is enough ?
4) is GStreamer-ffmpeg self-contained ib or it is bridge between GStreamer framework and standalone ffmpeg framework ? In other words, after probably-successful compiling GStreamer/win32 should one find and install compatible ffmpeg lib for Win32, or it is enough already ? i wonder if http://ffdshow-tryout.sf.net is enough...

Thanks in advance for clues.

Sasquatch Wednesday, March 3, 2010 1:16:19 PM

Originally posted by the_Arioch:

Can any Linux-savvy man suggest:

1) what GStreamer codecs need for MPEG4 to be played, both MPEG4 Simple aka xvid/divx and MPEG4 Advanced aka H.264 or ffmpeg codec alone is enough?

2) container on YouTube HTML5 is .mp4 with is reduced version of Apple .MOV ? What GStreamer pugin needed to support it, or ffmpeg codec alone is enough ?

3) sound on YouTube mp4 is mp3 (MPEG1 Layer 3) or mp4 (MPEG2 layer 4) or whatever ? To play it - which GStreamer codecs needed or ffmpeg codec alone is enough ?

4) is GStreamer-ffmpeg self-contained ib or it is bridge between GStreamer framework and standalone ffmpeg framework ? In other words, after probably-successful compiling GStreamer/win32 should one find and install compatible ffmpeg lib for Win32, or it is enough already ? i wonder if http://ffdshow-tryout.sf.net is enough...



1) I use mplayer, that plays everything you need as it has the codecs build in. No matter what I throw at it, it all works. WMV is the only thing that doesn't work by default, you need the win32codecs installed, it's a restricted package due to licenses on the codec. If you have a capable videocard and supporting driver, you can use that to decode the video too.
If you use Totem or other gstreamer based players, you might want to install bad and ugly along with base and good. That means all of the gstreamer parts. Maybe ffmpeg is enough for it, no idea. It's all a try or die thing. Keep installing gstreamer parts until you get what you want (video and audio).

2) See my post above for the needed gstreamer packages.

3) Same as 2).

4) The package gstreamer-ffmpeg is separate from ffmpeg itself. FFmpeg can also encode files. The gstreamer libraries are just the decoder parts from ffmpeg.

I don't know about the FFDShow tryouts. They are based on ffmpeg, that's true, but I doubt it will be enough to make it work for Opera. Haven't tested it myself though, you're free to try it yourself. Keep in mind that if you use Linux, FFDShow has no value for you, it's for Windows.

Annoynimousthe_Arioch Wednesday, March 3, 2010 6:35:58 PM

> If you use Totem or other gstreamer based players
That requires me to install Linux and play with it for a while.
I hope someone already using Linux and experienced in it would hepl by just telling what is needed.

> It's all a try or die thing
Not exactly, when you open movie with Windows Direct X player, you can run GraphEdit that will show you all the chain of codecs used. So you do not have to install/deinstall and try and retry, you just run the movie and look which codecs actually been used.
I remember few years ago similar tool was in gstreamer-devel.

> The gstreamer libraries are just the decoder parts from ffmpeg.
You see, they must be statically linked or dinamically linked.
In other words, self-contained or dependant.
In other words, ffmpeg framework and decoders must be compiled inside binary file of gstreamer-ffmpeg and then gstreamer no longer needs separate ffmpeg at all; or it may be that gstreamer-ffmpeg does not have any ffmpeg code inside, and it just looks for installed separate ffmpeg, loads it and translates all requests from GStreamer to ffmpeg and back.

> that if you use Linux
i am talking about making Opera/Win32 support H.264
surely i do not use Linux, Opera/Linux already supports it :-)

> but I doubt it will be enough to make it work for Opera
surely Opera would not work with niether ffmpeg nor ffdshow-tryout
the question is "how to locate and compile GStreamer part that plays H.264 and that it works in Windows and that it is compatible with GStreamer/Win32 port made by Opera"

Sasquatch Wednesday, March 3, 2010 8:10:31 PM

Originally posted by the_Arioch:

That requires me to install Linux and play with it for a while.

I hope someone already using Linux and experienced in it would hepl by just telling what is needed.


You made it appear you were using Linux alongside Windows. Didn't I already tell you what gstreamer parts are needed for HTML5 on YouTube? You can then check which codecs and all are in them.

Originally posted by the_Arioch:

Not exactly, when you open movie with Windows Direct X player, you can run GraphEdit that will show you all the chain of codecs used. So you do not have to install/deinstall and try and retry, you just run the movie and look which codecs actually been used.

I remember few years ago similar tool was in gstreamer-devel.


Gstreamer has the same idea. It detects the codecs it needs and prompts you to install the corresponding gstreamer package that holds the codec. Media players have the same function as some on Windows: tell you which codec is used. It's not that hard to figure out. On Windows, you can use whatever you want, like GSpot or Media Player Classic. WMP does NOT have this feature though. Or not well implemented anyway, it might only show you which codec a file has, if the codec is already installed.

Originally posted by the_Arioch:

You see, they must be statically linked or dinamically linked.

In other words, self-contained or dependant.

In other words, ffmpeg framework and decoders must be compiled inside binary file of gstreamer-ffmpeg and then gstreamer no longer needs separate ffmpeg at all; or it may be that gstreamer-ffmpeg does not have any ffmpeg code inside, and it just looks for installed separate ffmpeg, loads it and translates all requests from GStreamer to ffmpeg and back.


What part of my reply did you not understand? Didn't I clearly state that you DO NOT need ffmpeg to be installed?

Didn't you want to know how it works on Linux? I answered those parts, don't give an ungrateful reply and burn me down, ok? You sounded like a jerk to me and I don't want to have a flamewar here. You're also going off-topic, this posting is about the HTML5 video on LINUX, not Windows. The forums might be a better place to continue.

Annoynimousthe_Arioch Thursday, March 4, 2010 10:05:00 AM

> You made it appear you were using Linux
few years ago, then i had to program in Win32 and had no time for Linux
But i hate C++ and am not right person to go in that complex matters ffmpeg/gst/opera :-)

> You can then check which codecs
On Windows - only Ogg+Theora+Vorbis - those that Opera Software bothered to port.
There is no vanilla GStreamer on Win32, Opera made it's own port.
And you know that when porting some C/C++ soft every litte swtch in compiler might made two libraries binary incompatible. Name mangling, types' sizes, etc.
Since i'm Pascal/Delphi man, i don't want to jump into that well.

> it might only show you which codec a file has, if the codec is already installed.
I know how to do it in Windows/DirectX! Don't chew me that basics of DirectX, u claim me impolite but is it polite of you to do so?
Be it in Windows, i could easily write down all the loaded codecs and all the loaded DLLs (.so's). But i can not do it in Linux right off.

And here it was reported that on Linux you also do have all required codecs in GStreamer vanilla.
So please, can someone run H.264 from YouTube/HTML5 via GStreamer/Linux and look which codecs been used ?

> Didn't I clearly state that you DO NOT need ffmpeg to be installed?
no, not until now.
Separate might easily mean separate RPMs/DEBs - but surely they are.

> The forums might be a better place to continue.
I'm pursuing there to. But there i try to find programmers who can and want do Windows part.
Here i try to get information they might need, and this information is Linux-related because it works on Linux right off.

I am not asking here how to do Windows porting.
But i am asking what to aim at, what is the state in Linux wher it works and what is the state needed to achieve by any Windows porters' team.
Just that.

Unregistered user Tuesday, March 23, 2010 1:53:49 PM

mnicky writes: When watching youtube HTML5 video, it is flickering and sound is crackling... I reported this as DSK-289695. Im using Debian Lenny and have these gstreamer packages installed: "gstreamer0.10-alsa, gstreamer0.10-ffmpeg, gstreamer0.10-plugins-bad, gstreamer0.10-plugins-base, gstreamer0.10-plugins-farsight, gstreamer0.10-plugins-good, gstreamer0.10-plugins-ugly, gstreamer0.10-tools, gstreamer0.10-x, gstreamer0.10-gnomevfs" I cannot confirm, that it is working for me in other browsers, because in my Iceweasel 3.5 (Firefox) I even cant watch youtube HTML5 videos at all... But video: http://snapshot.opera.com/resources/BigBuckBunny.html works as expected in both Firefox and Opera. Because of this, I know, that this might be a Youtube problem, not the Opera's one, but I want to know, if there's anyone for who the Youtube HTML 5 video it is working properly, or anybody who can help me...

Sasquatch Tuesday, March 23, 2010 2:15:13 PM

Originally posted by anonymous:

Because of this, I know, that this might be a Youtube problem, not the Opera's one, but I want to know, if there's anyone for who the Youtube HTML 5 video it is working properly, or anybody who can help me...


I got less packages installed for Gstreamer (noted above). There are some video's that are smooth, but some aren't. HTML5 takes a lot of CPU too on my end, so that might have something to do with the crackling. Are you using Pulseaudio or not? I am, and that adds another overhead layer.

Unregistered user Tuesday, March 23, 2010 3:05:44 PM

mnicky writes: No, I dont use Pulseaudio, just Alsa. You are right... Ive managed to find some HTML 5 videos on Youtube that dont crackle. But strange thing is, that when watching one such video, my Opera consumes just 70MBs of my 4GB RAM and 17% of CPU, whilst watching another HTML 5 video consumes about 50% of CPU (= all the one core) and it doesnt crackle... Btw, my bandwidth is about 4 MB/sec...

Unregistered user Tuesday, March 23, 2010 3:10:37 PM

mnicky writes: My comment above is a little confusing ;-). By the first video (that consumed only 17% of CPU) I mean the video, that IS crackling.... and the second one isnt crackling... And Ive also found, that those videos doesnt flicker, just crackle. It just appeared to me to be so...

Grand Toubabgrandtoubab Thursday, April 1, 2010 7:45:01 PM

Hello
Not all videos are displayed
Ubuntu with gecko-mediaplayer plugins, I have problem on
http://www.france4.fr/videos/
http://my.opera.com/community/forums/topic.dml?id=503281
Best Regards
G.T

Ruarí Ødegaardruario Saturday, May 22, 2010 3:47:03 PM

GREYGREYchan Friday, September 10, 2010 2:34:47 PM

Please add phonon-backend-gstreamer to you list. This is package for guys who use Phonon.

Unregistered user Saturday, November 6, 2010 7:27:36 PM

Anonymous writes: @GREY the GStreamer back-end for Phonon is only useful when the applications uses Phonon (like Amarok), but Opera uses GStreamer directly, which is better, as the current state of Phonon is not so good as it was expected to be some year ago. Also, Qt is not developing Phonon anymore, they now support QtMultimedia and QtMobility.

wil joannchocolatebubblegum Saturday, March 19, 2011 3:51:44 AM

thanks for the info .

will try to install the package

Unregistered user Thursday, April 21, 2011 5:07:19 PM

Anonim writes: Hi, are there any progress on fixing issues with other codecs in video tag implementation in Opera under Linux. I can play for example h264 (.mp4), but after about 5 seconds movie stops. So essentially it works, but there is some minor issues to be resolved. I know Opera is against adding h264 support, and I agree webm is better way to go, but why preventing people from using it if they really want (and gstreamer already have decoder for it, as well other formats). Thanks.

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies