View previous topic :: View next topic |
Author |
Message |
Drasica Apprentice
Joined: 16 Apr 2006 Posts: 181
|
Posted: Mon Dec 26, 2016 1:19 am Post subject: [solved] Hiccups in VLC 4k playback |
|
|
I have a 4.7GB 4k video in mkv format, and I tried to play it in VLC 2.2.4 and at first the experience was horrible--hiccups and stutters constantly. I changed the settings to increase the buffer size from 300ms to 60s, and the hiccups now are about as often as the buffer size. Unfortunately, the buffer max is 60s so I see a stutter every couple of minutes, which is still really annoying!
I have hardware acceleration enabled, and I'm playing the video locally from a SSD drive. I have an intel broadwell GPU and I have VIDEO_CARDS="intel" set. Between the fast disk and GPU accel, I feel like the system should be fast enough to handle 4k playback. Any ideas what additional settings I should play with to improve the experience?
Last edited by Drasica on Mon Dec 26, 2016 5:33 am; edited 1 time in total |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
Posted: Mon Dec 26, 2016 1:46 am Post subject: |
|
|
Are you sure this particular file is hardware decoded? I just found out my Skylake Intel is unable to decode 10-bit HEVC in hardware, also no MPEG-4 Part 2 decoding (Xvid, etc).
Code: | ~ $ vainfo
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.7.3
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
|
_________________ My Gentoo installation notes.
Please learn how to denote units correctly! |
|
Back to top |
|
|
Drasica Apprentice
Joined: 16 Apr 2006 Posts: 181
|
Posted: Mon Dec 26, 2016 3:54 am Post subject: |
|
|
Jaglover wrote: | Are you sure this particular file is hardware decoded? I just found out my Skylake Intel is unable to decode 10-bit HEVC in hardware, also no MPEG-4 Part 2 decoding (Xvid, etc). |
Hmm, mine looks like this:
Code: |
libva info: VA-API version 0.38.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.2)
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 1.6.2
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
|
Turns out I was mistaken and it's actually just 1080p and not 4k, so I'm even more surprised VLC is struggling so hard. The codec is H264 MPEG-4 AVC (part 10) (avc1). I can't tell from the output of vainfo if that's something I should be able to hardware decode...I see H264 many times in the list, so I would guess yes? |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Drasica Apprentice
Joined: 16 Apr 2006 Posts: 181
|
Posted: Mon Dec 26, 2016 5:33 am Post subject: |
|
|
Ended up solving the issue by updating to vlc 3.0 in a nightly build.
Turns out there's some pretty bad ALSA sync issues in 2.2.4, outlined here: https://forum.videolan.org/viewtopic.php?t=130091
As the thread suggested, I updated to a 3,0 via a nightly ebuild vlc-9999. This ebuild doesn't have well-defined dependencies (not sure if 9999 builds ever do), so I had to update gettext to 0.19.8 and libva to 1.7.3 to get the ebuild to compile. Now video playback is working without a stutter and the buffer back down to a totally reasonable 1s. |
|
Back to top |
|
|
|