Sometimes we encounter problems when we try to decode some MPEG2 video streams. One useful way to troubleshoot those problems is to use a different library for video decoding to see if the problem is specific to FFMPEG, or if it is a more general bug in the RI. One of the decoders that's available is the libmpeg2 - http://libmpeg2.sourceforge.net/.
The following steps will allow to configure RI to use libmpeg2 library:
- Create a directory called "mpeg2dec" in $PLATFORMROOT/src/gstreamer:
mkdir -p $PLATFORMROOT/src/gstreamer/mpeg2dec
- Download the 0.5.1 version of the libmpeg2 library and put it in the directory:
cd $PLATFORMROOT/src/gstreamer/mpeg2dec && wget [http://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz]
- Download the source of version 0.10.11 of the GStreamer ugly plugins and extract it into a temporary directory:
wget [http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.11.tar.bz2] && tar jxvf gst-plugins-ugly-0.10.11.tar.bz2
- Copy the GStreamer mpeg2dec plugin into $PLATFORMROOT/src/gstreamer/mpeg2dec:
cp -va gst-plugins-ugly-0.10.11/ext/mpeg2dec/gstmpeg2dec.* .
- Save and gunzip the attached Makefile.gz into $PLATFORMROOT/src/gstreamer/mpeg2dec.
- Save and gunzip the attached mpeg2dec.patch.gz into $PLATFORMROOT.
- Apply mpeg2dec.patch:
cd $PLATFORMROOT && patch -p0 -i ./mpeg2dec.patch
- Re-build the RI Platform.
The RI will now use the libmpeg2 library for video decoding.