Page 1 of 1

audio/video out of sync

Posted: 06 Dec 2008 17:25
by truthy
i have a strange problem with vlc (version 0.9.6) playing various videos - mostly xivd with mp3 (cbr/abr/vbr) or ac3 audio but also mkvs with avc1 & ac3 audio. there seems be be a slight delay (mostly about +200 ms) which only vlc seems to create. other playes like wmp, old bsplayer or mpc play the vids in-sync without any issues. I mostly watch movies on my LCD which is connected via a 10m VGA-cable to my computer, my TFT is connected via a DVI-cable. as I said other players don't have the lipsync/slight out of sync problems.
In the codebox is the output of mediainfo of the last video file where the delay was created.
I know that I can 'fix' this using the delay audio/video by +/- ms option - but that can't be a satisfying solution - doing this all the time. Is this a VLC-bug and if so how's the chance that it will get fixed permanently in future releases?

Code: Select all

General Complete name : E:\*.avi Format : AVI Format/Info : Audio Video Interleave File size : 723 MiB Duration : 1h 37mn Overall bit rate : 1 035 Kbps Video Format : MPEG-4 Visual Format profile : Simple@L3 Format settings, BVOP : Yes Format settings, QPel : No Format settings, GMC : No warppoints Format settings, Matrix : Default Muxing mode : Packed bitstream Codec ID : XVID Codec ID/Hint : XviD Duration : 1h 37mn Bit rate : 834 Kbps Width : 720 pixels Height : 480 pixels Display aspect ratio : 1.500 Frame rate : 23.976 fps Standard : NTSC Resolution : 24 bits Colorimetry : 4:2:0 Scan type : Progressive Bits/(Pixel*Frame) : 0.101 Stream size : 582 MiB (81%) Writing library : XviD 1.1.0 Beta1 (UTC 2005-01-16) Audio Format : MPEG Audio Format version : Version 1 Format profile : Layer 3 Codec ID : 55 Codec ID/Hint : MP3 Duration : 1h 37mn Bit rate mode : Constant Bit rate : 192 Kbps Channel(s) : 2 channels Sampling rate : 44.1 KHz Resolution : 16 bits Video delay : 26ms Stream size : 134 MiB (19%) Alignment : Split accross interleaves Interleave, duration : 42 ms (1.00 video frame) Title : Audio Stream
my system:
Intel E6850 3,0 Ghz
XFX GeForce GTX 260 666M 896MB
Asus P5N32-E SLI Plus
3 GB Corsair XMS2 PC2-6400 CL5
Samsung HD103UJ, HD501LJ, SP2004C
Corsair HX520W
LG 226 WTQ
Toshiba 32C3502P
XP Pro SP3 32bit
Vista Ultimate SP1 32bit
nForce 15.23 & nvidia 180.48 drivers

Re: audio/video out of sync ONLY in vlc

Posted: 06 Dec 2008 17:36
by Jean-Baptiste Kempf
Have you tried other audio output modules?

Re: audio/video out of sync ONLY in vlc

Posted: 06 Dec 2008 20:57
by truthy
I tried the DirectX, Portaudio and win32 waveOut extension - It's all the same with them (+200 ms)
with File-Output and Dummy I don't hear a thing.

My Onboard Sound is soundmax adi 1988B if that matters.

Here's the Output of the messages tab verbose level 2 when I open the file jump to a specific location an close it again.

Code: Select all

main info: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. main debug: adding item `*.avi' ( E:\*.avi ) main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index -1 main debug: starting new item main debug: processing request item *.avi node null skip 0 main debug: resyncing on *.avi main debug: *.avi is at 0 main debug: creating new input thread main debug: Creating an input for '*.avi' main debug: waiting for thread initialization main debug: thread started main debug: thread 5044 (input) created at priority 1 (input/input.c:370) main debug: `E:\*.avi' gives access `' demux `' path `E:\*.avi' qt4 debug: Updating the stream status: 3 main debug: creating demux: access='' demux='' path='E:\*.avi' main debug: looking for access_demux module: 1 candidate dvdnav warning: cannot open dvdnav main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: creating access '' path='E:\*.avi' main debug: looking for access module: 5 candidates vcd debug: trying .cue file: E:\*.cue vcd debug: could not find .cue file access_file debug: opening file `E:\*.avi' main debug: using access module "access_file" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: Using AStream*Stream main debug: pre-buffering... main debug: received first data for our buffer qt4 debug: New Event: type 1103 qt4 debug: Updating the stream status: 2 main debug: pre-buffering done 1408981 bytes in 0s - 687635 kbytes/s main debug: creating demux: access='' demux='' path='E:\*.avi' main debug: looking for demux module: 59 candidates avi debug: found Chunk fourcc:46464952 (RIFF) size:758062154 pos:0 avi debug: found LIST chunk: 'AVI ' avi debug: <list 'AVI '> avi debug: found Chunk fourcc:5453494c (LIST) size:328 pos:12 avi debug: found LIST chunk: 'hdrl' avi debug: <list 'hdrl'> avi debug: found Chunk fourcc:68697661 (avih) size:56 pos:24 avi debug: avih: streams:2 flags: HAS_INDEX TRUST_CKTYPE 720x480 avi debug: found Chunk fourcc:5453494c (LIST) size:116 pos:88 avi debug: found LIST chunk: 'strl' avi debug: <list 'strl'> avi debug: found Chunk fourcc:68727473 (strh) size:56 pos:100 avi debug: strh: type:vids handler:0x64697678 samplesize:0 23.98fps avi debug: found Chunk fourcc:66727473 (strf) size:40 pos:164 avi debug: strf: video:XVID 720x480 planes:1 24bpp avi debug: </list 'strl'> avi debug: found Chunk fourcc:5453494c (LIST) size:128 pos:212 avi debug: found LIST chunk: 'strl' avi debug: <list 'strl'> avi debug: found Chunk fourcc:68727473 (strh) size:56 pos:224 avi debug: strh: type:auds handler:0x00000000 samplesize:1 24000.00fps avi debug: found Chunk fourcc:66727473 (strf) size:30 pos:288 avi debug: strf: audio:0x0055 channels:2 44100Hz 0bits/sample 187kb/s avi debug: found Chunk fourcc:6e727473 (strn) size:13 pos:326 avi debug: strn: stream name : Audio Stream avi debug: </list 'strl'> avi debug: </list 'hdrl'> avi debug: found Chunk fourcc:4b4e554a (JUNK) size:1680 pos:348 avi debug: found Chunk fourcc:5453494c (LIST) size:753564846 pos:2036 avi debug: skipping movi chunk avi debug: found Chunk fourcc:31786469 (idx1) size:4495264 pos:753566890 avi debug: idx1: index entry:280954 avi debug: </list 'AVI '> avi debug: found Chunk fourcc:63643030 (00dc) size:0 pos:758062162 avi warning: unknown chunk (not loaded) avi debug: found Chunk fourcc:2c186334 (4c,) size:6635 pos:758062170 avi warning: unknown chunk (not loaded) avi debug: * LIST-root size:758062592 pos:0 avi debug: + RIFF-AVI size:758062154 pos:0 avi debug: | + LIST-hdrl size:328 pos:12 avi debug: | | + avih size:56 pos:24 avi debug: | | + LIST-strl size:116 pos:88 avi debug: | | | + strh size:56 pos:100 avi debug: | | | + strf size:40 pos:164 avi debug: | | + LIST-strl size:128 pos:212 avi debug: | | | + strh size:56 pos:224 avi debug: | | | + strf size:30 pos:288 avi debug: | | | + strn size:13 pos:326 avi debug: | + JUNK size:1680 pos:348 avi debug: | + LIST-movi size:753564846 pos:2036 avi debug: | + idx1 size:4495264 pos:753566890 avi debug: + 00dc size:0 pos:758062162 avi debug: + 4c, size:6635 pos:758062170 avi debug: AVIH: 2 stream, flags HAS_INDEX TRUST_CKTYPE avi debug: stream[0] rate:23976 scale:1000 samplesize:0 avi debug: stream[0] video(XVID) 720x480 24bpp 23.976000fps main debug: selecting program id=0 qt4 debug: New Event: type 1108 avi debug: stream[1] rate:24000 scale:1 samplesize:1 avi debug: stream[1] audio(0x55) 2 channels 44100Hz 0bits avi debug: stream[0] created 140477 index entries avi debug: stream[1] created 140477 index entries avi debug: stream[0] length:5859 (based on index) avi debug: stream[1] length:5859 (based on index) main debug: using demux module "avi" main debug: TIMER module_Need() : 77.000 ms - Total 77.000 ms / 1 intvls (Avg 77.000 ms) main debug: looking for a subtitle file in E:\*\ main debug: looking for decoder module: 33 candidates avcodec debug: libavcodec initialized (interface 3360512 ) avcodec debug: using direct rendering avcodec debug: ffmpeg codec (MPEG-4 Video) started main debug: using decoder module "avcodec" main debug: TIMER module_Need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) main debug: thread 5120 (decoder) created at priority 0 (input/decoder.c:217) main debug: looking for decoder module: 33 candidates main debug: using decoder module "mpeg_audio" main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: thread 5148 (decoder) created at priority 2 (input/decoder.c:217) main debug: `E:\*.avi' successfully opened main debug: thread started avi debug: old:0 < new 0 main debug: control type=1 main debug: thread started main debug: no usable vout present, spawning one main debug: window size: 720x480 main debug: looking for video output module: 6 candidates vout_directx debug: creating DirectXEventThread main debug: waiting for thread initialization main debug: thread started vout_directx debug: DirectXCreateWindow main debug: looking for vout window module: 2 candidates qt4 debug: waiting for interface... qt4 debug: requesting window... qt4 debug: Video was requested -1, -1 qt4 debug: New Event: type 1103 qt4 debug: Updating the stream status: 3 qt4 debug: Video is resizing to: 720 480 qt4 debug: Qt FS: Attaching Vout qt4 debug: Qt: Changing Fullscreen Mode main debug: using vout window module "qt4" main debug: TIMER module_Need() : 18.000 ms - Total 18.000 ms / 1 intvls (Avg 18.000 ms) vout_directx debug: created video sub-window main debug: thread 5208 (Vout Events Thread) created at priority 0 (directx.c:281) vout_directx debug: Vout EventThread running vout_directx debug: DirectXInitDDraw vout_directx debug: directx-device: vout_directx debug: DirectXEnumCallback: Prim?rer Anzeigetreiber, display vout_directx debug: DirectXEnumCallback: NVIDIA GeForce GTX 260, \\.\DISPLAY1 vout_directx debug: selecting NVIDIA GeForce GTX 260, \\.\DISPLAY1 vout_directx debug: DirectXEnumCallback: NVIDIA GeForce GTX 260, \\.\DISPLAY2 vout_directx debug: screen dimensions (0x0,1680x1050) vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1 vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1 align_size_src=0,0 align_size_dest=0,0 vout_directx debug: End DirectXInitDDraw vout_directx debug: DirectXCreateDisplay mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:192 main debug: no aout present, spawning one main debug: looking for audio output module: 3 candidates aout_directx debug: OpenAudio qt4 debug: Updating the geometry vout_directx debug: DirectXCreateClipper vout_directx debug: disabling screen saver main debug: using video output module "vout_directx" main debug: TIMER module_Need() : 63.000 ms - Total 63.000 ms / 1 intvls (Avg 63.000 ms) main debug: thread started vout_directx debug: NewPictureVec overlay:yes chroma:YV12 main debug: waiting for thread initialization vout_directx debug: YUV overlay created successfully vout_directx debug: End NewPictureVec (succeeded) main debug: got 1 direct buffer(s) main debug: picture in 720x480 (0,0,720x480), chroma I420, ar 3:2, sar 1:1 main debug: picture user 720x480 (0,0,720x480), chroma I420, ar 3:2, sar 1:1 main debug: picture out 720x480 (0,0,720x480), chroma I420, ar 3:2, sar 1:1 main debug: direct render, mapping render pictures 0-6 to system pictures 1-7 main debug: thread 5392 (video output) created at priority 1 (video_output/video_output.c:502) aout_directx debug: found device: Prim?rer Soundtreiber aout_directx debug: found device: SoundMAX HD Audio main debug: looking for text renderer module: 2 candidates main debug: thread 5448 (fontlist builder) created at priority 0 (freetype.c:477) freetype debug: using fontsize: 30 main debug: using text renderer module "freetype" main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) freetype debug: using fontsize: 30 main debug: thread started main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) freetype debug: Building font database... freetype debug: Finished building font database. freetype debug: Took 0 seconds main debug: thread ended aout_directx debug: device supports 2 channels (DEFAULT!) aout_directx debug: device supports 2 channels aout_directx debug: device supports 1 channel aout_directx debug: Windows says your SpeakerConfig is stereo aout_directx debug: creating DirectSoundThread main debug: thread started main debug: thread 5792 (DirectSound Notification Thread) created at priority 15 (directx.c:392) aout_directx debug: DirectSoundThread ready main debug: using audio output module "aout_directx" main debug: TIMER module_Need() : 83.000 ms - Total 83.000 ms / 1 intvls (Avg 83.000 ms) main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes main debug: mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "converter_float" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: found a filter for the whole conversion main debug: looking for audio mixer module: 3 candidates main debug: using audio mixer module "float32_mixer" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: input 'mpga' 44100 Hz Stereo frame=1152 samples/1053 bytes main debug: filter(s) 'mpga'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "mpgatofixed32" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: found a filter for the whole conversion main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "bandlimited_resampler" main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: found a filter for the whole conversion qt4 debug: New Event: type 1109 main debug: control type=7 avi debug: seek requested: 1430 seconds 24% avi debug: old:13596930 < new 1430000000 avi debug: seek: 1430 seconds mpeg_audio debug: emulated startcode (no startcode on following frame) mpeg_audio debug: emulated startcode main debug: End of audio preroll mpgatofixed32 debug: libmad error: bad main_data_begin pointer main debug: End of video preroll main warning: late picture skipped (143088263999) main warning: late picture skipped (143088263999) main debug: incoming request - stopping current input main debug: dying input avcodec debug: ffmpeg codec (MPEG-4 Video) stopped main debug: removing module "avcodec" main debug: thread ended main debug: removing module "mpeg_audio" main debug: thread ended main debug: control type=0 main debug: control: stopping input avi debug: free chunk avih avi debug: free chunk strh avi debug: free chunk strf avi debug: free chunk LIST avi debug: free chunk strh avi debug: free chunk strf avi debug: free chunk strn avi debug: free chunk LIST avi debug: free chunk LIST avi debug: free chunk JUNK avi debug: free chunk LIST avi debug: free chunk idx1 avi debug: free chunk RIFF avi warning: unknown chunk (not unloaded) avi warning: unknown chunk (not unloaded) avi debug: free chunk LIST main debug: removing module "avi" main debug: removing module "access_file" main debug: thread times: real 0m15.906250s, kernel 0m0.062500s, user 0m0.109375s main debug: thread 5120 joined (input/decoder.c:248) main debug: killing decoder fourcc `XVID', 3 PES in FIFO qt4 debug: Updating the stream status: 8 vout_directx debug: DirectXCloseSurface vout_directx debug: DirectXCloseDisplay vout_directx debug: DirectXCloseDisplay clipper vout_directx debug: DirectXCloseDisplay display main debug: dying input vout_directx debug: DirectXCloseDDraw main debug: thread ended main debug: thread times: real 0m15.859375s, kernel 0m0.015625s, user 0m0.031250s main debug: thread 5392 joined (video_output/video_output.c:536) vout_directx debug: DirectXEventThread terminating vout_directx debug: DirectXCloseWindow vout_directx debug: WinProc WM_DESTROY qt4 debug: Qt FS: Detaching Vout qt4 debug: Qt: Changing Fullscreen Mode main debug: removing module "qt4" main debug: thread ended main debug: thread times: real 0m15.921875s, kernel 0m0.031250s, user 0m0.000000s main debug: thread 5208 joined (directx.c:513) main debug: removing module "vout_directx" main debug: removing module "blend" main debug: thread times: real 0m0.015625s, kernel 0m0.000000s, user 0m0.000000s main debug: thread 5448 joined (freetype.c:511) main debug: removing module "freetype" main debug: thread times: real 0m15.906250s, kernel 0m0.031250s, user 0m0.000000s main debug: thread 5148 joined (input/decoder.c:248) main debug: killing decoder fourcc `mpga', 2 PES in FIFO main debug: removing module "mpgatofixed32" main debug: removing module "bandlimited_resampler" aout_directx debug: closing audio device aout_directx debug: DirectSoundThread exiting main debug: thread ended main debug: thread times: real 0m15.796875s, kernel 0m0.000000s, user 0m0.000000s main debug: thread 5792 joined (directx.c:664) main debug: removing module "aout_directx" main debug: removing module "converter_float" main debug: removing module "float32_mixer" main debug: thread ended qt4 debug: Video is not needed anymore qt4 debug: Updating the geometry main debug: dead input main debug: thread times: real 0m16.015625s, kernel 0m0.015625s, user 0m0.046875s main debug: thread 5044 joined (playlist/engine.c:244) main debug: TIMER input launching for '*.avi' : 88.000 ms - Total 88.000 ms / 1 intvls (Avg 88.000 ms)

Re: audio/video out of sync ONLY in vlc

Posted: 07 Dec 2008 19:02
by VLC_help
Is there a short sample file you could provide that shows the issue?

Re: audio/video out of sync ONLY in vlc

Posted: 08 Dec 2008 18:33
by truthy
okay here's a link to a short sample of the file
sample

Re: audio/video out of sync ONLY in vlc

Posted: 09 Dec 2008 19:29
by VLC_help
Works fine in here. Is there any USB soundcard that you could test?

Re: audio/video out of sync ONLY in vlc

Posted: 09 Dec 2008 23:22
by truthy
my headphones (steelsound 5h v2) have a usb-soundcard, it's the same with them. look closely - watch it with and without +200 ms delay

ah I'm sorry the delay is in the file itself - so it has nothing to do with the player (just noticed the same delay with mpc, wmp, bsplayer)
most people won't even notice such a slight delay like that. +200 ms is not very much, but if you watch the lips very closely when people speak you'll notice.

sry that I didn't notice that earlier - it's really not easy to tell the difference :roll: