[gst-devel] async Audio/Video
ensonic at hora-obscura.de
Tue Mar 18 14:19:37 CET 2008
Quoting Matthias Rolf <mrolf at techfak.uni-bielefeld.de>:
> Hi all,
> I'm using gstreamer for realizing an audio/video-synchrony-detection
> algorithm and having the following problem: using the following
> test-script causes audio and video to go out of sync:
What format are the files in. A demuxer pipleine is prefferably
working so that the demuxer pulls from its source (the filesrc) and
pushes on the decoders. Adding a queue after filesrc forces the
demuxer into streaming mode (push based parsing). Thats separate
codepath in the demxer and maybe you see a bug there.
> gst-launch-0.10 \
> filesrc location=$1 ! queue ! decodebin2 name=dec \
> dec. ! queue ! identity check-perfect=true ! \
> videorate ! ffmpegcolorspace ! ximagesink \
> dec. ! queue ! audiorate ! \
> audioconvert ! alsasink \
> The impact highly depends on the concrete video, but I can reproduce it
> across several test-videos. You can hear/see the asynchrony and it is
> reflected in my computation results from my orignal (very large)
> pipeline (thats my pain-point!).
> My observation is: when removing the queue between filesrc and decodebin
> both streams get synchronized again. Though seeming to solve the problem
> in this special case that knowledge is not sufficient to me, since the
> reliability of my results depends on whether this effect can also impact
> in other situations.
> Note: audiorate and videorate are necessary for my purpose since I have
> to compute precise timing relations between audio and video and thus
> need an absolute high-quality streams.
> Does anybody have an explanation or at least a hypothesis for that
> Thanks in advance,
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
More information about the gstreamer-devel