How could I got my Chromium play ogg, mp3 or H264?

Hi everyone:

I’m using openSUSE 11.3 x86_64 and just installed latest Chromium from repository, which version is 9.0.582.0-2.2.

Then I saw a post: here, saying It is possible to play mp3, h264 and watch pdf in Chromium. So, I followed the instructions there:

I copied libpdf.so extracted from Latest development version of Google Chrome, some “unstable_current.rpm” to /usr/lib64/chromium, and got it worked. I can preview pdf in my chromium.

Since openSUSE do not have a ppa repository, so I just surfed its ppa here and found a chromium-codecs-ffmpeg.tar.gz. I found it is just a copy of /trunk/deps/third_party/ffmpeg, so I just compiled a copy of patched-ffmpeg-mt from that trunk, with chrome config and ogg/mp3/h264 enabled.

I cp -r my version of libavcodec.so.52/libavformat.so.52/libavutil.so.50 to /usr/lib64/chromium to replace the ones formally linked to /usr/lib64, the ones distributed with ffmpeg from pacman, version 0.6.25702svn-1.pm.3.3. Then I copied libffmpegsumo.so from laested google chrome unstable build.

The sad thing is: THEY DO NOT EVEN WORK. I can’t preview any multimedia files in my chromium. no matter shipped with a html5 format of HTML file or just browse the media file directly. You can see the html5 player, but can’t play the file. the length of the file is always 0:00.

At first I thought it’s my fault. the compiled-by-myself version of ffmpeg-mt doesn’t work. so I recycled the packman version link back, as you know, packman version of ffmpeg supports these restricted codecs, but It doesn’t work either. What’s worse, I can’t even play open-source codecs using both my version and packman version.

so the conclusion seems to be: Chromium that openSUSE contrib shipped can not play media files. IT’S STRANGE.

anyone could offer me some help to help me get out of these troubles?

Thanks in advance.

Marguerite

I read your post because it is in the Network/Internet subforum and I think I am able to offer help on some questions in this area. But until now I fail to see any connection between your problem and Network/Internet. Can you please explain?

Maybe because the behaviour comes clear in a browser?

@OP: follow the guide on restricted media. That will pull in the necessary codecs

@hcvv
I thought Chromium is a browser, just as the subforum itself says “Internet Application”, AM I WRONG?

That’s what I guessed ;). The problem, hcvv meant to say so, is not in the Internet/Network, it’s a codec problem. Here’s the link to the guide: Multi-media and Restricted Format Installation Guide
Following the guide will bring full multimedia support to your desktop.

@knurpht
Well, you guess right :slight_smile:
What do you mean by “the guide on restricted media”? Do you mean the .ymp file that can install codecs on?
I have most of them installed. eg: libxine1, libxine1-codecs, ffmpeg, flash-player, but it’s not about the case here.
As I said, I can’t even play free formats in my Chromium.

Where’s the Chromium installed from? I.e. how did you install Chromium? I run it all the time, no issues like yours.

@knurpht
Google Chrome uses its own version of ffmpeg. with restricted formats turned on.
Chromium does not, it just simply link such .so’s to /usr/lib64, that is, the system default ones.
But my system ffmpeg can play mp3 and etc. Chromium can’t. It can’t even play .ogg files.

Chromium is installed from Contribution Repository. open a .mp3 file in your browser, then it will jump a html5 player, click the “play”, then there is sound. are you able to do that?
I just can’t, I can see the player, but click “play” it does nothing, just show me the length is 0:00

Maybe some misunderstanding.

Network for me is that your NIC (cabled or wireless) functions and attaches your system to your LAN (often only having your router/modem as other partner).
When uou can send but one packgae to the internet
Internet means that you can connect through your router to the internet, That means that IP packages can be exchaned with partners on the internet. When your system can olutionalso in this catagoryexchange but one packagage which a system on the the internet, you are connected. I would reccon problems with DNS resolution also in this category because it is rather essential in making connection with othee systems.

When your internet connection is functioning we go to the category of applications that use it for e.g.e-mail, browsing, DNS resolution, NTP synchronisation, everything that goes in and out. When every problem with an application that can get its data over the internet would be catagorised as a network/internet problem, we could scratch both Desktop and Aplications as catagories, I guess. This is about an application that does not play some multimedia (irrespective if it comes over the network or not. I would catagorise this as Application, or better imho as Multimedia. In any case it is no stuff for network gurus.

This was btw only to help you to post in the place where it is most likely that you get a usefull answer. In general the right subforum and a telling Title (yours was good enough) are instrumental in gettinng an faster a better answer. Just for the future. I hope you feel welcome here even after my remarks. Because your are welcome here.

@OP: will try some files in mine, and get back with results

Simple question: how do you open these files?

OMG, I was wrong. I thought Internet Applications are browers, etc. But It means Internet Devices and Fundamental Softwares like ppp-dialer. So sorry about the misunderstanding.

Well, I just input in the navigation Toolbar, in the address area
file:///home/marguerite/Dropbox/sample.ogg

then there is a blank page with a black player. click play, no luck

here is what I found:

I just restore to the default Chromium.

  1. open a konsole and input “chromium”

[26606:26606:37998417311:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/**libffmpegsumo.so**: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26610:26610:37998480766:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/libffmpegsumo.so: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26613:26613:37998621818:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/libffmpegsumo.so: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26634:26634:37999298203:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/libffmpegsumo.so: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26636:26636:37999414579:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/libffmpegsumo.so: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26638:26638:37999419769:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open /usr/lib64/chromium/libffmpegsumo.so: /usr/lib64/chromium/libffmpegsumo.so: cannot open shared object file: No such file or directory
[26641:26641:38000240101:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open default_plugin: default_plugin: cannot open shared object file: No such file or directory
[26583:26583:38000329707:ERROR:chrome/browser/renderer_host/render_widget_host.cc(1033)] Not implemented reached in void RenderWidgetHost::OnMsgCreatePluginContainer(gfx::PluginWindowHandle)

It seems openSUSE contirbutors shipped Chromium by simply deleting the restricted part: libffmpegsumo.so

  1. I copy the libffmpegsumo.so back with a such .so extracted from chrome-rel-linux daily build. then:

[26871:26871:38202387456:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open default_plugin: default_plugin: cannot open shared object file: No such file or directory
[26828:26828:38202464686:ERROR:chrome/browser/renderer_host/render_widget_host.cc(1033)] Not implemented reached in void RenderWidgetHost::OnMsgCreatePluginContainer(gfx::PluginWindowHandle)
[26882:26882:38211587396:ERROR:base/native_library_linux.cc(32)] dlopen failed when trying to open libGLESv2.so: **libGLESv2.so**: cannot open shared object file: No such file or directory

NOW it seems simple and easy.

Because libGLESv2.so is from openGL ES, which is coded for embedded *nix systems like iOS, Meego. there’s no package for openSUSE.

So it seems to be a BUG, I am not sure.

For me, they open in kmplayer, if I do it your way. I don’t know if HTML5 is ready for this. Did you check the PCM volume in your mixer?

BTW: these are the packages I have:

glosscomputer@Knurpht:~> rpm -qa | grep chromium
chromium-libs-9.0.582.0-2.1.x86_64
chromium-9.0.582.0-2.1.x86_64

haha, that is because you do not have the libffmpegsumo.so, which controls multimedia to be played internal or using third party applications.

errr…surely I have my sound mixer turned on, I’m not as green&fresh as you think, man.

we have the same packages.

So it seems to be a fault of the packager.

NOW I’M BUILDING MY OWN VERSION OF CHROMIUM! I think I must be crazy…

I was not talking about the sound mixer, I was referring to the PCM channel. This is muted by default on some cards, which will result in no sound from a browser. Can happen to anybody, no matter what color or degree of freshness ;). I already know you know more about Chrome/Chromium than I do.
From what this looks like, the devs at opensuse.org remove some things from Chromium. I’ll have a further look into this. Specially the HTML5 part interests me.