[gst-devel] Audio/video sync problems

Daniel Drake dsd at laptop.org
Wed Apr 28 21:13:07 CEST 2010


Hi,

I'm diagnosing a bug in OLPC's Record activity. We use gstreamer to
capture audio and video from the microphone and webcam, allowing the
laptop to be used like a camcorder.

The problem is that the A/V sync on the output file is really bad.

I'm wondering if anyone can suggest a place to start investigating
this, or anything else to try. Happy to jump into the code, but would
love to have some suggestion of where to start.

This is brand new hardware (new "1.5" version of the laptop) so
unfortunately we don't have a prior baseline to be working towards.

Environment:
Fedora 11
gstreamer-0.10.25
gstreamer-plugins-base-0.10.25
gstreamer-plugins-good-0.10.16
No PulseAudio
alsa-lib-1.0.23
Linux 2.6.31
XO-1.5 laptop (VIA 1ghz CPU, HDA sound with Conexant codec)

I've narrowed down the problem to a simple pygst test program. The
program encodes the webcam input on-the-fly to theora, while recording
audio to a .wav file.
After recording for a few seconds, it runs a 2nd pipeline which
transcodes the .wav into vorbis, and muxes it with the .ogg theora
file, resulting in a vorbis+theora .ogg output file

(the reason for doing it in 2 passes is that the system is not capable
of recording smooth video while encoding to both theora and vorbis
simultaneously)

Test program:
http://dev.laptop.org/~dsd/20100428/record.py

Intermediate theora:
http://dev.laptop.org/~dsd/20100428/video.ogg

Intermediate .wav:
http://dev.laptop.org/~dsd/20100428/audio.wav

Resultant file with obvious bad sync:
http://dev.laptop.org/~dsd/20100428/output.ogg

Logs from running with GST_DEBUG=2
http://dev.laptop.org/~dsd/20100428/log2

Logs from running with GST_DEBUG=4
http://dev.laptop.org/~dsd/20100428/log4.gz

Any tips appreciated

cheers
Daniel




More information about the gstreamer-devel mailing list