Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Hiccups in VLC 4k playback
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Drasica
Apprentice
Apprentice


Joined: 16 Apr 2006
Posts: 181

PostPosted: Mon Dec 26, 2016 1:19 am    Post subject: [solved] Hiccups in VLC 4k playback Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Mon Dec 26, 2016 1:46 am    Post subject: Reply with quote

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
View user's profile Send private message
Drasica
Apprentice
Apprentice


Joined: 16 Apr 2006
Posts: 181

PostPosted: Mon Dec 26, 2016 3:54 am    Post subject: Reply with quote

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
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Mon Dec 26, 2016 4:01 am    Post subject: Reply with quote

I use mpv, it will tell you (when invoked from CLI) whether it is using hardware decoding or not.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
Drasica
Apprentice
Apprentice


Joined: 16 Apr 2006
Posts: 181

PostPosted: Mon Dec 26, 2016 5:33 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum