OK, i can't figure out any other way to test the A/V sync of various files with VLC than using a camcorder
(all files can be referenced here)
http://otakuvideo.com/~quu/vlc%20timings/
given the "test - Original.avs" was rendered an an uncompressed AVI
then that AVS file was rendered with x-264 and the audio with FAAC and NeroAACEnc (QTAACEnc has the same timing as FAAC) and merged into mp4 files and MKV files
when i did my "in computer" testing with AVISynth, the AVI and MKv files were perfect, while the MP4 files had audio that was ~1 frame off... purely in software rendering and display
So, I wanted to see what the Sync would be like if these five files were played through VLC to an external viewer. This is a windows vista x64 machine, I7-920 and GTX 285
I made a playlist, set up my DV camcorder right in front of the monitor, hit record, then play and let all 5 videos play. Afterwords i chopped about 30 seconds from the middle of each (since the full DV recording was 6+ gig in size) and built AVS scripts to re render the audio waveform, to see if the audio and video was out of sync to the listener (you can download all of the .mp4 files of the sync tests from that link)
Now... my camcorder does not have Mic in, so there is some noise, you kind of have to watch the entire 30 seconds of each clip to find reference points, to find places where you can prove or disprove sync... but there are there... not easy, but possible.
I forgot to make virtualdub smaller before taking the screen shots, i wanted the full amount of frames to be visible. All of the reference images are available in the above link.
The uncompressed AVI the audio is running slow, as perceived by an external to the computer viewer.
this was perfect when inspected synthetically
Both MKV files, the nero encoded audio and the faac audio, are running a little audio slow also, the nero much more than the faac audio.
The MKv with FAAC audio was perfect in the synthetic testing, while the nero was slightly slow. So it kind of makes sense.
Now the MP4 transport files (please remember, same elementary streams as the MKV, just a different wrapper)
While it is impossible to be 100%, the FAAC mp4 timings look almost dead on perfect. The amount of noise from the recording does muddy the waters, but I can find multiple points in the 30 second clip where spikes and dips between the recorded video, and the newly rendered from audio match up. The nero MP4 seams to be in much better shape. While not as perfect as the FAAC mp4 container test, the nero audio in the mp4 wrapper seams to be less than 1 frame off at each solid marker i can find, well within human perception.
so... this hurt my brain with the amount of jury rigging I had to do. This also completely surprised me with the results. Given the results of my synthetic testing, I expected the uncompressed avi (this was played off an array, no skipped or dropped frames) and the MKV to be dead on perfect, but their audio ran behind. In the synthetic testing the audio ran early when using the ffmpeg avisynth plugin, and this kind of matched the expected results from the analog viewer, as if everything was shifted back audio wise, their faster audio now perfectly matches.
I think the next time I do my timing results, I make my life simpler and use a tone generator instead of a real song, sharp tones on and off every second would make it easier to test for sync issues.