I've recently purchased a 4K capable camcorder (Panasonic HC-X1). But I have serious trouble playing the recorded 4K files (2160p50 @ 150 Mbps). The playback stutters in intervals of a few seconds, sometimes it shows ugly block artifacts.
The problem occurs:
- on Windows 10 (all updates installed)
- with NVIDIA GTX 770 graphics card (driver version 378.66)
- monitor resolution is 2560x1440 @ 60 Hz
- all players are affected (Movies & TV, Windows Media Player, MediaPlayer Classic, VLC)
As far as I can see the video hardware acceleration is already fully enabled, since the CPU load stays well below 10% at all times (i7-4770K).
The problem does not occur when:
- using VLC on my desktop computer (with NVIDIA GTX 770) but using Linux instead of Windows
- using some other computer (laptop) without dedicated graphics card (Intel iGPU, also Windows 10, Movies & TV or Media Player)
How can I fix the playback problems on my desktop computer with Windows 10?
Are there any diagnosis tools to debug the problem?
I'm using my Windows desktop for all video editing, hence a proper clip preview is crucial for me.
PS: Here is the media info from the video file:
Code:Format : AVC Format/Info : Advanced Video Codec Format profile : High@L5.2 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 31 s 680 ms Bit rate mode : Variable Bit rate : 153 Mb/s Maximum bit rate : 158 Mb/s Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 FPS Color space : YUV
+ Reply to Thread
Results 1 to 6 of 6
users currently on my ignore list: deadrats, Stears555
Is Kepler H.264 hardware decoder 4k@50fps+ capable? I done some tests in Windows 10 here some days ago and GTX770 was not capable to play 4k@50fps 30mbit/s video playback without stuttering. I thought that is hardware limitation since 4k@30fps play smoothly. My 4770 Haswell with Quicksync acceleration reproduced same 4k@50fps video without stuttering.
According to Wikipedia the GTX 770 should be capable of UHD H.264 decoding. Of course the GTX 770 can not decode HEVC/H.265 (which are often used for UHD), but H.264 UHD should work fine:
The fifth generation of PureVideo HD, introduced with the GeForce GT 520 (Fermi (microarchitecture)) and also included in the Nvidia GeForce 600/700 (Kepler (microarchitecture)) series GPUs has significantly improved performance when decoding H.264. It is also capable of decoding 2160p 4K Ultra-High Definition (UHD) resolution videos at 3840 × 2160 pixels (doubling the 1080p Full High Definition standard in both the vertical and horizontal dimensions) and, depending on the driver and the used codec, higher resolutions of up to 4032 × 4080 pixels.
The fifth generation PureVideo HD is sometimes called "PureVideo HD 5" or "VP5", although this is not an official Nvidia designation. This generation of PureVideo HD corresponds to Nvidia Feature Set D (or "VDPAU Feature Set D").
Checking the files with TS Doctor was not possible, as the video files are MP4 files. But since they are straight out of the camera, tested with several files and from different SD cards, I hardly believe that all the files shall be corrupt.
In the meantime I also tried PotPlayer. This player seems to perform much better, with default settings the playback was absolutely smooth, at least I did not notice any glitches. Then I checked the settings... and was surprised that hardware acceleration was disabled. This also explains the non-negligible CPU load of roughly 50%. Then as countertest I enabled the hardware acceleration in PotPlayer... and again stuttering and lagging...
With that knowledge in mind I returned to MPC-HC (I don't like the PotPlayer UI for some reason) and tested it with hardware acceleration disabled... and the playback was smooth as well.
So, apparently hardware acceleration with Nvida Kepler is the root of all evil. Hence my two questions:
- Are there any tools for codec noobs like me to check whats wrong with the hardware accelerated codecs?
- Or if nothing else helps, how can I disable hardware accelerated video decoding system-wide without losing other stuff like 3D rendering?
According to Nvidia at 1080p H.264 Maxwell 1st Gen does 376 fps while Kepler only does 161 fps. If we assume 4K needs 4x the power that would be 161 / 4 ~= 40 fps. I don't know for sure if this assumption is correct but it does match your observations.
yeah, that's a good catch. The PDF says 161 fps for FHD @ 20 Mbps with Kepler. My video files have UHD (4x more pixels) and 150 Mbps (8x more data rate). So we can safely assume that this overburdens this somehow "aged" graphics card. A pretty satisfactory explanation for me...
Luckily my CPU has enough performance head room for decoding UHD H.264 in software. I've now configured MPC-HC as default player for all media types, of course with hardware acceleration disabled in MPC-HC. So I can hope to keep my current PC setup for some more years...
@all: Many thanks for all your tips!