"Have you ever had the feeling you were being watched? Like the eyes of strange things are upon you? Look, out there in the audience." - Bugs Bunny, Hair-Raising Hare (1946)
.
I was jumping ahead of myself and spent way too much time on future ideas today (and loving it, but with the price to pay) -- a quick color correction, and a quick proportional overlay of the 16mm P&S onto the letterbox laserdisc [presently just a placeholder graphic]. In Avisynth, of course.
msycamore, many pages back, was having some trouble with syncing the video/audio of the sample clip he had and it wasn't co-operating. The first thing I now see is strange. This is your typical 24fps film. It's got all kinds of imaging in the leader that you'd expect to see flashing by, including the countdown numbers and it's final audio beep on "2". Normally, this is where to sync it up.
One problem is, this leader stops at "3". Another is that this is sound film runs at 24fps, with 24 frames for each number (which equals 1 second of screen time). So why does this countdown leader have only 16 frames for each number? (Note: 16fps is silent film.)
Puggo - Jar Jar's Yoda's post-operative software must make wrong assumptions on the media. It ID's the video as 30fps (it's film @ 24fps) and the audio as 48k sample rate. Audio is normally has the standard rates of 48k or 44.1k. However, forcing audio to either of those puts it out- the-sync with the video, correspondingly fast or slow.
In Avisynth, the video is a snap to fix. It is normal to assume the internal video ID is correct and Avisynth just follows suit ..
vid002 = OpenDMLSource( "f2.avi" )
In this case, that would keep the video running fast at 30fps. Here's the way to force the film to play at film speed ..
vid002 = OpenDMLSource( "f2.avi" ).AssumeFPS( "ntsc_film" )
That's it. Now it's at the proper speed of 24fps.
Something similar is used for the audo. Avisynth again follows the audio ID ..
aud002 = WAVSource( "fa2.wav" )
If one forces 48k ..
aud002 = WAVSource( "fa2.wav" ).AssumeSampleRate( 48000 )
.. or 44.1k ..
aud002 = WAVSource( "fa2.wav" ).AssumeSampleRate( 44100 )
.. the audio still will not sync up (too fast or too slow).
The true sampling rate must be somewhere in between. But how to find it without testing each and every value in between (3,900 tests)?
[coming up next]