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