On Mon, 2008-10-06 at 18:04 -0500, Carl Karsten wrote:
[...]
> > The good news is that even smarter algos should fit nicely into the
> > synchro engine currently being laid.
> 
> Any chance of that happening this year?

Very unlinkely at this development speed.
A lot of code rewrite, a careful planning of some architectural changes
and the design and the implementation of better synchro algorythm are
the steps needed. Noone is easy nor quick :)

> >> I am wondering what it would take to make a test app:  something that would
> >> generate an input AV stream (file, v4l device... whatever), something like
> >> transcode would do something to it, and the output would be analyzed to 
> >> see if
> >> the AV is still in sync.
> >>
> >> I did something similar using a webcam/mic pointed at a laptop that had a 
> >> clock
> >> on the screen, and an audio clock ("at the tone, the time will be eight, 
> >> oh one.
> >>  beep.")  I let that record for an hour, then played it back and looked to 
> >> see
> >> if the tone beeped as the second hand crossed 12.  I would like to think 
> >> an app
> >> could do this too.
> > 
> > It is an interesting challenge (and it would be a nice tool to have).
> 
> How could it be broken up so that something like python could be used for 
> doing
> the test?

By adding tc bindings to python? ;P

> I am really having a hard time imagining how it would work... but this
> is what
> comes to mind:
> Create input from scratch:
> Use python PIL module to construct 2 images: one all black, one all white.  
> use
> some mystery module to generate a tone every second.  use something to 
> construct
> a stream that just alternates between the 2 images, and plays the tone during 
> one.

Yep the keypoint is to be able to clearly identify the frames in the
stream (both audio and video) then we can assert the streams are in sync
if a given audio frame matches a given video frame (modulo a small fixed
error).

> Represent playback as data:
> given a stream, I want access to the frames as if it was a list, or at least 
> an
> iterator.  video would be rendered as single image blobs.  I am not really 
> sure
> how the audio would be represented, but I need some way of detecting the 
> transition.

audio is just a different blob.

> Any idea how much of this has already been done, or where a good starting 
> point is?

Well, testframes generators (both audio and video) are quite common, we
have some examples in TC codebase, in the ffmpeg one and I guess in much
others.
We can also just tag the frames using some kind of watermark in order to
make them recognizable.

Unfortunately, I don't know anything that is usable directly in python,
I'm afraid anyone interested has to get his hands dirty with C/C++ or
maybe java too.

Bests,

-- 
Francesco Romani // Ikitt
http://fromani.exit1.org  ::: transcode homepage
http://tcforge.berlios.de ::: transcode experimental forge

Reply via email to