As with most Linux distributions, SLED’s out of the box multimedia capability is somewhat limited in terms of codec support. It has support for MP3, the OGG family and some others, but it doesn’t have support for commonly used codecs such as H264 and AAC and those required for DVD playback.
There are packages available from third parties built for SLED that will add such capabilities in the form of plugins for gstreamer (the backend used by Totem, Banshee and others). However all such packages I’ve found require that you replace packages that are already in SLED with different versions. Wherever possible I like to avoid replacing packages provided by Novell. The more you replace the higher the risk of undesirable results and it may also have an effect on your ability to obtain support from Novell. (Perhaps your problem is due to you having replaced all those packages…) So I set out to work out my own solution that would provide codec support I wanted without replacing anything provided by Novell.
So one advantage of this method is that it doesn’t replace any packages Novell provide. Another advantage, albeit which may or may not apply to you, is that provided all the required dependencies are already installed, it is possible to use this solution without having root access. (Details of which packages need to be installed are in the README.txt file in the attachment.) A disadvantage is that you do not get the latest versions of the additional gstreamer plugins. The versions of the gstreamer plugins used are ones which I have found, through looking at release dates and some degree of trial and error, to be the newest that are compatible with the version of gstreamer provided in SLED.
This solution involves obtaining source code and compiling it, but if that sounds beyond your capability don’t worry as I have created a script to automate the process. The script will leave you with compiled binaries that you can copy to the relevant location and optionally an rpm which you can simply install instead of manually copying files to the necessary locations.
You need to read the README.txt file for full details, but to give you an idea of what’s involved, the build process is as follows:
To build the plugins, run the build script.
By default the plugins will be built to live in /opt/multimedia If you want them to live somewhere else then change the line
to reflect where you want to put them. E.g if you want them in your home directory you could use
By default an rpm will be built but if you set the prefix to something in your home directory the rpm won’t be built as it’s assumed you’re specifying your home directory as the prefix because you don’t have root and hence can’t install an rpm.
The release version of the rpm is different every time it’s built – it’s set to the seconds since epoch (date +%s). This is done so that if for some reason you re-build the rpm after installing it, the new rpm can be installed as an update.