gstreamer x264enc matroskamux issue

Tim-Philipp Müller t.i.m at zen.co.uk
Thu Oct 25 12:51:51 PDT 2012


On Thu, 2012-10-25 at 20:49 +0200, paul.praet at telenet.be wrote:


> I am trying to convert a DVD to mkv file with gstreamer. The pipeline
> I use is:
>
> gst-launch -evv multifilesrc location="VTS_01_%d.VOB" index=1 ! dvddemux name=demuxer \
>  matroskamux name=mux ! filesink location=test.mkv \
>  demuxer.current_video ! queue ! mpeg2dec ! x264enc ! mux. \
>  demuxer.current_audio ! queue ! ffdec_ac3 ! lamemp3enc ! mux
> [nothing happens anymore]

The queues are probably too small (more precisely: the audio queue).
x264enc will by default consume a few seconds' worth of frames before it
outputs the first encoded frame. The audio queue needs to be able to
contain that much audio data as well then (otherwise the demuxer will
get blocked and stop outputting more video too, and nothing happens any
more).

So in short, try:

  ! queue max-size-bytes=0 max-size-buffers=0
max-size-time=10000000000 ! ..

(or x264enc tune=zerolatency to find out if that is the problem - but
this is not a good setting for transcoding, since it will reduce
quality)

Cheers
 -Tim




More information about the gstreamer-devel mailing list