How to configure VLC to play 4K content properly

131,382

Solution 1

I have succeeded in reproducing the problem using VLC version 2.2.4.

The problem of freezing exists only if "Hardware-accelerated decoding" is set to something else than "Disable".

Apparently VLC now supports GPU decoding, but I believe it is done in a very inefficient manner.
The article How to enable gpu accelerated decoding in VLC says this :

the data is decoded in the GPU at the decoding stage and then transferred back to the player so that the other stages, filtering and streaming for instance, can be processed.

I have managed better frame-rate when setting "Hardware-accelerated decoding" to "Disable". This puts the entire burden on the CPU and so requires a strong CPU.

User Journeyman Geek recommends increasing the thread number under Tools / Preferences / Video Codecs" / FFMPEG / Threads, but it worked for me with the default value of 0 which means "Auto". You might experiment further with other values for Threads. I just remark that the FFMPEG library is not used for all video formats.

VLC apparently does not support at the moment (2016) the x265 codec, since x265 videos did not play when downloaded from 4ksamples.com. However, everything worked flawlessly with Media Player Classic.

Edit (2018) : VLC now works successfully with these files.

Solution 2

I've been experimenting a bit with the puppies bath in 4k video off 4ksamples.com as well as a few others. I got a combination that worked with my test video. I note reasonably fast storage is essential for quality playback. Considering some trial and error is needed, do backup the current settings. These settings work on a 3770, 16gb of ram and a gforce 980TI which I know is 4k capable

I've changed quite a few advanced settings to get it to work. In theory I want DXVA to be enabled but that causes VLC to crash.

Under simple mode in preferences go to Tools -> Preferences and Input / Codecs and in the drop-down box for Skip H.264 in-loop deblocking filter change it to All. This is recommended by VLC

Switch to show all under preferences and try these changes

I turned off all filters under Video Filters. This was the last thing I did, and seemed to help the most so I'd start here

Under "Video Codecs" - > FFMPEG I set my threads to 3. You might want to experiment with higher or lower numbers.

Make sure everything under output modules/DirectX is unticked.

These changes seem to have worked.

For reference, once I stripped out the commented lines, my vlcrc looks like

[directdraw] 
directx-hw-yuv=0
directx-3buffering=0
[direct3d] 
direct3d-shader=Disabled
[swscale] 
swscale-mode=9
[qt4] 
qt-privacy-ask=0
[x264] 
sout-x264-profile=main
sout-x264-preset=veryfast
sout-x264-tune=film
[qsv] 
sout-qsv-software=1
sout-qsv-h264-profile=decide
sout-qsv-h264-level=decide
sout-qsv-mpeg2-profile=decide
sout-qsv-mpeg2-level=decide
[avcodec] 
avcodec-skiploopfilter=4
avcodec-hw=any
avcodec-threads=3
[waveout] 
waveout-volume=0.700000
[directsound] 
directx-volume=0.700000
[filesystem] 
filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa
[core] 
aout=any
video-deco=0
vout=direct3d
video-filter=swscale
vod-server=any

I have a gist with my full vlcrc for 4k here

Share:
131,382

Related videos on Youtube

Bálint Babics
Author by

Bálint Babics

Updated on September 18, 2022

Comments

  • Bálint Babics
    Bálint Babics over 1 year

    Currently my main media player on Windows (10 Pro x64) is VLC but I noticed that when I want to play UHD content (2K, 4K videos) its freezes.

    My PC's configuration: Intel i7 3770, 16GB RAM, 512GB SSD, nVidia GTX 970 4GB.

    The sound is OK but the picture is freezing (2-3 frames per minutes).

    I've tried to set the codecs or enabled/disabled the GPU acceleration without success.

    What should I set to play this kind of content flowless?

    P.S.: Media Player Classic plays the same file so smooth but I want to keep VLC as main player.

    • dExIT
      dExIT over 7 years
      Does the Audio keep playing without a hitch, only the video freezes ?
    • Bálint Babics
      Bálint Babics over 7 years
      @dExIT Correct.
    • dExIT
      dExIT over 7 years
      Have you tried to amend caching times and FFmpeg Loop Filter Skipping, and have you changed your video output settings, lets say to DirectX DirectDraw or OpenGL ?
    • Bálint Babics
      Bálint Babics over 7 years
      Yes I did all of them, without success. With OpenGL the screen was completely magenta. I have the latest nV driver.
    • dExIT
      dExIT over 7 years
      Please remember that normally VLC could be by default setup Video is decoded through CPU - aka integrated graphics. Please see and try to setup GPU decoding. wiki.videolan.org/VLC_GPU_Decoding setup GPU and then output settings need to be Direct X
    • dExIT
      dExIT over 7 years
      And just to be on the 100% side, try to open a GPU monitor, and play the video and see if the usage of the GPU spikes. just to be sure :)
    • harley_woop
      harley_woop over 7 years
      If the Integrated Graphics is doing it, Sandy Bridge (i3/i5/i7 3*) can't really do 4K if I remember correctly. The GPU needs to be doing the decoding. Also, is it 60fps or 30? Makes a big difference.
    • dExIT
      dExIT over 7 years
      And remember Newest nVidia drivers are not always the best way to go. Even if they are stable.
    • Bálint Babics
      Bálint Babics over 7 years
      @harley_woop: the IGP is unrelevant here, becuase the CPU or the dGPU do the job not the IGP. And yeah, I know the GPU should do the decoding but when I set the option to use GPU to decode its not working.
    • harley_woop
      harley_woop over 7 years
      @BálintBabics True, was confusing IGP and CPU. Still the GPU should be used if you can get it working.
    • harrymc
      harrymc over 7 years
      I downloaded 4K videos from 4ksamples.com. VLC had no success playing videos encoded with the x265 codec, but other codecs worked fine. Which codec is used in your file? If unsure - use MediaInfo. It would also be useful to have a sample of the problematic 4K files. I had no trouble playing all 4K videos (including x265) when using Media Player Classic (MPC) that I got by installing K-Lite Codec Pack Mega.
    • Thalys
      Thalys over 7 years
      I more or less have the same hardware. What format/codec?
    • Thalys
      Thalys over 7 years
      I've been experimenting a bit - trying dxva crashes, the test video I'm using is rotated and ... it feels like VLC is trying to decode this in CPU on one thread.
  • Bálint Babics
    Bálint Babics over 7 years
    Unfortunatelly it not solved my problem. I've tried to play 4k videos from 4ksamples but not working. Tried with only you've wrote and tried with the full gits vlcrc too. And I believe it not uses the GPU.
  • Thalys
    Thalys over 7 years
    Yeah, its CPU only. Its odd though, I have the very same cpu and these settings work both on those and with other files
  • Chan
    Chan over 5 years
    For some reason my 4k video work flawlessly when I turned off the hardware acceleration. Thanks
  • Tony Sepia
    Tony Sepia about 5 years
    I have noticed that the Skip Frame setting under Input/Codecs->Video codecs-> ffmpeg has made a big difference for me. Skip ALL just results in no frames making it to the output, which means only sound would play without picture. BiDir and Non-ref gave me the greatest playback speed improvements.