VLC vs WMP and CPU usage

2is

Diamond Member
Apr 8, 2012
4,281
131
106
This should probably be in the HTPC forum, but it's a pretty dead forum and I figured I could get more info here. I recently encoded Thor: Dark Side of the World Blu-ray into a M4V format and put it on my server.

When I play it through WMP the audio sync is off by about a full second, and the bandwidth usage is absurd, I have a gigabit connection between the HTPC and the media server so it's not really an issue, but the amount of bandwidth being transmitted is many times greater than the size of the file, by the time the movie is done playing. CPU usage is very low, only a few percentage points above idle. Video is smooth, there are no skips or pauses, just an audio sync issue.

When playing the same movie through VLC, audio sync is perfect as is the playback. Nice and smooth with no skips or pauses. Bandwidth usage is a fraction of what it was with WMP but CPU usage is at around 40% (core 2 duo)

My question is very simply... Why? Why is there such a discrepancy between bandwidth and CPU usage between the two applications when playing the same video? Thoughts? I wasn't using any sort of media server software for this. I simply browsed to the share and double clicked the file.
 

Tristor

Senior member
Jul 25, 2007
314
0
71
Without writing an essay about it, I should point out that WMP doesn't actually do any decoding itself. It takes advantage of DirectShow, which is part of DirectX, and uses "filters" (which are codecs) to do the video and audio decoding. Depending on what filters you have installed, which are set to priority, and the configuration of WMP, you may find yourself in very different situations.

VLC on the other hand takes advantage of a library called ffmpeg which it has statically compiled in. This provides it the full suite of decoders internal to itself, without reliance on anything else on the system.


There are advantages and disadvantages to both methods, but nobody can even begin to provide you an intelligible response about why this behavior is occurring without a good understanding of what your current DirectShow filter chain is.