Kaffeine, h265, mpv video player configuration

since the core i7-4500u Haswell CPU can't decode h265 I done some research on what player uses less resources to watch them, after some googling and some measuring here are the results:
obtained in Manjaro 18.1.0 KDE Plasma, using a media file containing :

Bit rate: 1 727 kb/s
Width: 1 920 pixels
Height: 1 012 pixels
Format profile: Main 10@L4@Main
Codec ID: V_MPEGH/ISO/HEVC
Writing library: x265 2.6

  • mpv Media Player is the one that uses more cpu
  • VLC media player uses slightly less
  • Media Player Classic Qute Player uses almost less 20% of cpu compared to VLC
  • Kaffeine that uses the GStreamer library, and that's how I found about it, uses 12% less CPU then MPC-QT, it actually plays at a lower frequency and lower cpu usage, power usage report went from 7.5watts to 6.1watts. web page : link
Puting some more time into Hardware video acceleration, reading this : link

Checking what driver is installed through system settings:


and I got:
 "Waiting for user input...
Starting
> Skipping already installed config 'video-linux' for device: 0000:00:02.0 (0300:8086:0a16) Display controller Intel Corporation Haswell-ULT Integrated Graphics Controller


Done ..."

Intel video acceleration is provided by the following libraries, for my specific piece of s*** hardware Haswell HD4400 :

 libva-intel-driver-hybrid, link

installed using pamac-manager ( Add/Remove software)
After installing I have this :


pre-installed there is also :
 libva-intel-driver, link
 libva-utils, link

how to find out what codec/driver is a media player using, for VLC you have verbose mode:

$ vlc -v sample-movie.mkv

you get:

avcodec decoder: Using Intel i965 driver for Intel(R) Haswell Mobile - 2.3.0 for hardware decoding

$ kaffeine -d sample-movie.mkv

avcodec decoder: Using Intel i965 driver for Intel(R) Haswell Mobile - 2.3.0 for hardware decoding

so they use the same hardware acceleration, why VLC is using more resources, I will update post when I find out.

MPV configuration

From the bash/terminal you can add the following parameters, or even set them as default in alias,
for mpv to use cache, used the vaapi as video hardware decode and set caches size:

mpv --cache=yes  --hwdec=vaapi --demuxer-max-bytes=500M --demuxer-max-back-bytes=100M some_video_file.mp4

for mpv to display GUI (usefull for audio files):

mpv --cache=yes --player-operation-mode=pseudo-gui some_audio_file.wav

Making configurations permanent

mpv sample confiuration file is located at : /usr/share/doc/mpv ,  inside the file there are instructions to either copy it to:
 /usr/local/etc/mpv.conf -- system wide config
 ~/.config/mpv/mpv.conf -- per user settings that override system wide settings

after copying file to ~/.config/mpv/mpv.conf, I modified:

autofit-larger=80%x80%
hwdec=vaapi
cache=yes
demuxer-max-bytes=500M
demuxer-max-back-bytes=100M

audio-channels=stereo
ad-lavc-downmix=yes
volume=50

A couple of usefull mpv hotkeys:

Control+h : toggle hardware decoding options
3 or 4 : increase or decrease brightness
5 or 6 : increase or decrease gamma
p : pause
, or . : previous or next frame

Comments