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.

  • No labels