VLC is the king of all media… it plays almost anything on any platform, any time, any place. It’s great. Lately, however, I’ve been having issues with VLC skipping whenever I’m playing high-def media streaming over a network.
Alter How Much VLC Caches the Video
First, open VLC’s preferences by going to Tools > Preferences.
Then, click “All” under the “Show Settings” option at the bottom of the window. Click “Input / Codecs” in the left sidebar.
If the file that is skipping is playing from a local hard drive, look for the “File Caching (ms)” option under “Advanced” on the right-hand side. The caching value here is set in milliseconds, so setting the value to 1000 will buffer for 1 second (the default is 300, or 0.3 seconds). The problem with setting this option too large is that if you want to manually skip to a new point in the file, there will be a larger lag while the content is buffered again.
If the file you are trying to play is located on a network share, you can change the caching value for “Network Caching (ms)”.
For illustration, I’ve shown the value set to 1 second, but this setting can be used to buffer as much as you want, whether it’s 5 seconds or 20 seconds. However much you need to eliminate the skipping on your network.
Toggle Hardware Acceleration (on Some Computers)
Reader Oliver wrote in to let us know that he was able to solve his problems by disabling hardware acceleration. Normally you would want hardware acceleration of the decoding process, but in some cases, it can conflict with your drivers, and it is worth a try.
From the Preferences panel, click “Simple” in the lower left-hand corner, then , go to to Input / Codecs. Click the “Hardware-accelerated decoding” dropdown and choose another option, or Disable it entirely. (You could also try enabling it if it isn’t already.) You can read more about hardware acceleration and how it works here.
Try a Different Video Output Module
You can also test using a different video output module. From the “All” or “Advanced Settings” view, head to Video > Output Modules. Change the “Video Output Module” dropdown to try one of the others. Using the DirectX 3D video output should offload some of the processing onto the video card, but you can test OpenGL or GDI to see if it helps. (On my system, Direct3D is the default anyway.)
Lower the Picture Quality as a Last Resort
The next thing you can do is adjust an option that makes a huge difference when dealing with high-def media over a slow I/O connection: lower the picture quality. This will make playback smoother, but obviously will look a little worse, so try the other settings first and only use this as a last resort.
From the Simple Preferences menu, head to Input / Codecs and click the “Skip H.264 in-loop deblocking filter). Change it to All.
You can also do this from the “All” preferences view in Input / Codecs > Video Codecs > FFmpeg, if your videos aren’t H.264.
Hopefully at least one of these tips will solve your buffering problems.