[gst-devel] Directshow sync issues

Tim-Philipp Müller t.i.m at zen.co.uk
Sat Jan 15 13:01:45 CET 2011


On Fri, 2011-01-14 at 19:20 -0800, KEVIN WEST wrote:

> I am running into a strange issue with a few videos and
>  dshowdecwrapper.  Basically I will transcode the video, but the output
>  is all wrong.  If you open the video, it will show the first frame
>  while playing the entire audio stream, and finally it will play the
>  video stream once it hits the end of the audio.  I thought there may
>  be some synchronization issues since dshow may not be using the same
>  clock as gstreamer, so I implemented an IReferenceClock that calls
>  into the gstreamer clock, however this doesn't seem to be fixing the
>  issue.

Clocks don't matter much in this kind of pipeline - there's neither a
source nor a sink syncing against the clock. Timestamps on the buffers
(and newsegment events preceding the data flow) carry the timing
information.

> For reference, here is my current pipeline:
> 
> gst-launch.exe -v --seek=0 uridecodebin name=dec uri="test.wmv" dec. !
>  videoscale ! videorate ! video/x-raw-yuv, width=320, height=240,
>  framerate=24000/1001 ! ffmpegcolorspace ! x264enc ! queue2
>  max-size-bytes=0 max-size-time=0 max-size-buffers=0 ! mux. dec. !
>  audioconvert ! audioresample ! audio/x-raw-int, rate=44100, channels=2
>  ! faac bitrate=128000 ! queue2 max-size-bytes=0 max-size-time=0
>  max-size-buffers=0 ! mux. flvmux name=mux ! filesink
>  location="output.flv"

Have you tried other muxers?

Have you tried with other decoders? (e.g. gst-ffmpeg based)

Have you tried other encoders?

Does playback alone work?

Where does the --seek option come from? That's not in upstream
gst-launch. Try without it.

(Also: use a normal queue instead of queue2 here).

Cheers
 -Tim






More information about the gstreamer-devel mailing list