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