Thursday, July 23, 2009

How to get GStreamer codecs working on Moblin 2.0 beta

Since the latest Moblin is based on Fedora 10, we can install gstreamer-plugins-bad over yum to get most codecs working correctly. However, we'll have to hack things somewhat.

Moblin uses the OpenSSL from F11, but libstdc++ 4.3 from F10. Since some media libraries seem to rely on both we will have to try to mix repositories carefully.

  1. download the latest rpmfusion and fedora release rpms, as they contain all the yum repository configurations
  2. force install rpmfusion release:
    • $ rpm -Uvh --nodeps rpmfusion*release*.rpm
  3. unpack fedora release:
    • $ rpm2cpio fedora-release.rpm | cpio -idv
    • $ cp ./etc/yum.repos.d/* /etc/yum.repos.d
  4. manually set configurations
    • $ sed -i 's/$releasever/11/' /etc/yum.repo.d/rpmfusion*
    • $ sed -i 's/$releasever/10/' /etc/yum.repo.d/fedora*
    • $ sed -i 's/enabled=1/enabled=0/' /etc/yum.repo.d/fedora*
    • $ sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.repo.d/fedora*
  5. install dirac-libs from F10
    • $ yum install --enablerepo=fedora,updates dirac-libs
  6. change to F11
    • $ sed -i 's/10/11/' /etc/yum.repo.d/fedora*
    • $ rm -rf /var/cache/yum
  7. install the rest
    • $ yum install --enablerepo=fedora,updates --exclude=dirac-libs gstreamer-plugins-bad gstreamer-plugins-flumpegdemux gstreamer-ffmpeg


drink said...

the "bad" plugins want me to update glibc! Yow! Any input? Starting to think harder about UNR.

Pepo said...

hey, sorry for my english. Using your method i could apparently install the codec (even updating glibc, the system didnt broke), but i cannot play anything on the media player, its like the codecs were never installed. Do you use any other media player? thanks.

Anonymous said...

Thanks for this fantastic guide, that being said I think you have a typo on step 4, all instances of "/etc/yum.repo.d/" with "/etc/yum.repos.d/" thanks again.

Anonymous said...

I feel a bit stupid to ask, but what are the latest fedora release rpms? I have no trouble finding and force installing the rpmfusion rpms (and they do show up in my software sources list), but all i could find are source rpms (fedora-release-10.91-1.src.rpm). Running 'rpm2cpio fedora-release-10.91-1.src.rpm| cpio -idv' seems OK, but then in the next step '$ cp ./etc/yum.repos.d/* /etc/yum.repos.d' I get an error message. I assume that source rpms and release rpm are not the same thing and therefore there is nothing to copy (cp: cannot stat `./etc/yum.repos.d/*': No such file or directory).
If someone could help me, I would be very happy, I think moblin is great, but not without support for mp3s...

Anonymous said...

Does not work for me, I'm using moblin 2.0 final, ffmpeg plugin doesn't load:
GLIB WARNING ** GStreamer - Failed to load plugin '/usr/lib/gstreamer-0.10/': /usr/lib/ undefined symbol: oil_function_class_ptr_avg2_32xn_u8

Anonymous said...

You may jump 4 and 5 clicking ...