[gst-devel] Transcoding a DVB source (?mpeg synchronization problems)

Michal Benes michal.benes at xeris.cz
Mon Apr 4 12:24:21 CEST 2005


Dear developers,

	I am dealing with a similar problem as in the thread

deadlock (?) while transcoding DVD

http://sourceforge.net/mailarchive/message.php?msg_id=10835631

My configuration is
gstreamer 0.8.9, gstreamer-plugins 0.8.8, gstreamer-ffmpeg 0.8.4 and
dvbsrc from gst-sandbox.

I am trying to transcode and save a DVB-T stream. 
I am doing something basically equivalent (only I am writing a C
programm) to

cat /dev/dvb/adapter0/dvr0 | gst-launch-0.8 --gst-debug-level=1 \
   fdsrc fd=0 ! ts2ps apid=650 vpid=512 ! mpegdemux name=d \
      { \
        matroskamux name=m ! filesink location=test.mkv \
        { \
          d.audio_00 ! queue ! mad !\
          audioconvert ! rawvorbisenc ! queue ! m.audio_%d \
        } \
        { d.video_10 ! queue ! ffdec_mpeg2video !\
          ffmpegcolorspace ! ffenc_mpeg2video ! queue ! m.video_%d \
        } \
      }


the transcoding hangs after few seconds. Even much simpler pipe

cat /dev/dvb/adapter0/dvr0 | gst-launch-0.8 --gst-debug-level=1 \
   fdsrc fd=0 ! ts2ps apid=650 vpid=512 ! mpegdemux name=d \
      { \
        matroskamux name=m ! filesink location=test.mkv \
        { \
          d.audio_00 ! queue ! m.audio_%d \
        } \
        { d.video_10 ! queue ! m.video_%d \
        } \
      }

have the same problem. A file created with
cat /dev/dvb/adapter0/dvr0 | ts2ps 512 650 > data.mpeg
has AV synchronization issues when played with totem (gstreamer
backend).
The same file is played correctly with mplayer (cvs version).

It seems to that the AV synchronization problem makes the queues (it is
mostly the video queue but sometimes also the audio queue) overrun.
Making the max-size-* very large does not solve the problem - the queues
only overrun later.

The queues overrun also for some mpeg streams movies from internet (I
have taken Novell comercials) but the transcoding process does not hung
up and the files are transcoded correctly. So the problem seems to be
DVB specific.

According bugzilla some mpegdemuxer synchronization problems on dvb
streams were fixed in september 
see
http://bugzilla.gnome.org/show_bug.cgi?id=152403
so the fix should be in the version of gst-plugins I am using.

Do you think this is a bug in mpeg demux or there is something bad in my
pipe design?

	Regards 

		Michal Benes






More information about the gstreamer-devel mailing list