Francesco Romani wrote: > On Mon, 2008-10-06 at 10:36 -0500, Carl Karsten wrote: >> given the recent post about AV drift, this seemed relevant: >> >> http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/time_handling >> Lumiera = video editor project (no usable app yet) > > It's a nice summary, thanks for the link. > I'm already considering a a fair amount of points taken into the page; > unfortunately, implement them requires a fair amount of changes in the > codebase, most of them planned for 1.3.0 or even beyond (a deep overhaul > of import layer is needed, and planned). > > 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? (I am back to examining US PyCon session recording stuff - show time is march 25) > >> 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? 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. 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. If this is possible, then it would be convenient to construct various test streams, process them, and come up with some pass/fail tests that would not require human interpretation. Any idea how much of this has already been done, or where a good starting point is? Speaking of human interpretation - There are plenty of tests that require it: does this still sound/look OK, even though it has been subject to lossy algorithm. Tests like that is some other project. Carl K