Re: How to get good audio / video sync?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,

>     I am starting to write a v4l capture aplication and one of my goals is
> good audio / video sync.  I was wondering is anyone can give me some
> pointers on the bast way to do this.
>     From looking at other programs, I have gathered that I should make the
> app multithreaded, with a video capture, audio capture, controlling, and
> file writing thread.  I would also like to take advantage of large buffers
> since ram is so cheap these days.  Other than that, I am pretty much in the
> dark as how to get good a/v sync.

One method is to use the audio stream as your timebase.  You can
reconstruct pretty accurate time stamp info for the time an audio buffer
was filled using the OSS ioctl's.  Basically, you look up the real-time
time clock for "now" and do an ioctl to tell you how many bytes have
been captured since "now" and when the sync was triggered.  Calculated
backwards from the card's data-rate and you have a nice precise
time-stamp.

You then duplicate/drop frames as necessary to keep the frames you're
captured correct relative to the length of audio stream you have
captured.

Doing it the other way around is much harder as a single dropped/dupped
frame is hard to notice but a gap or repetition in audio sounds
horrible.


Andrew



> Thanks in advance,
> --Thomas
> 
> BTW: This message might get duplicated.  I aplologize in advance.
> 
> _______________________________________________
> Video4linux-list mailing list
> Video4linux-list@xxxxxxxxxx
> https://listman.redhat.com/mailman/listinfo/video4linux-list





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux