I don't know how build-in mpv in Desktop Armbian behave. But i am using my own built of mpv and it play h265 video fine. I tried several videos, including 4k resolution and they all played with very low CPU usage. OPI PC is great device for such purpose, fueled by Armbian, of course . I don't know if you want to try this, but here are the basic steps i think should be enough to build it yourself too. Some of this may be redundant, but this way works for me.
First the newest version of libvdpau-sunxi is needed for h265 and especially for subtitles support. As i don't know what is in Desktop Armbian, i will post this too. First make some temporary directory, it's "t". located in ~home in my example. We need livdpau>=1.1, so:
cd t
wget http://ftp.de.debian.org/debian/pool/main/libv/libvdpau/libvdpau1_1.1.1-3_armhf.deb
wget http://ftp.de.debian.org/debian/pool/main/libv/libvdpau/libvdpau-dev_1.1.1-3_armhf.deb
wget http://ftp.de.debian.org/debian/pool/main/v/vdpauinfo/vdpauinfo_1.0-1+b1_armhf.deb
sudo dpkg -i libvdpau1_1.1.1-3_armhf.deb
sudo dpkg -i libvdpau-dev_1.1.1-3_armhf.deb
sudo dpkg -i vdpauinfo_1.0-1+b1_armhf.deb
Then libvdpau-sunxi:
git clone https://github.com/linux-sunxi/libcedrus.git
cd libcedrus
make
sudo make install
cd ..
wget http://cairographics.org/releases/pixman-0.34.0.tar.gz
tar -xzvf pixman-0.34.0.tar.gz
cd pixman-0.34.0
./configure
make -j4
sudo make install
cd ..
git clone https://github.com/linux-sunxi/libvdpau-sunxi.git
cd libvdpau-sunxi
make
sudo make install
We need to "export VDPAU_DRIVER=sunxi", "export VDPAU_DISABLE_G2D=1" and for subtitles support "export VDPAU_OSD=1". As i had a lot of troubles with this and never new for sure where is the correct place for this, i do it in several places. So put this:
export VDPAU_DRIVER=sunxi
export VDPAU_OSD=1
export VDPAU_DISABLE_G2D=1
in /etc/environment , in /home/"user"/.bashrc and in /etc/X11/Xsession.d/ create file named "90environment" (sudo nano /etc/X11/Xsession.d/90environment) and put the lines there too. This is all done for libvdpau-sunxi.
For mpv, first get dependencies:
sudo apt-get update
sudo apt-get build-dep libav
sudo apt-get build-dep mpv
If you want youtube support, install youtube-dl:
sudo curl https://yt-dl.org/downloads/2016.02.27/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
Install x264:
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-static --enable-shared
make -j4
sudo make install
sudo ldconfig
cd ..
and get x265:
sudo apt-get install mercurial cmake cmake-curses-gui build-essential
hg clone https://bitbucket.org/multicoreware/x265
There is a bug here and we can't build shared libraries, so before compilation open this file x265/source/common/primitives.cpp (sudo nano x265/source/common/primitives.cpp) and at the end remove the lines i marked with "-" in front:
- #if ENABLE_ASSEMBLY && X265_ARCH_ARM == 0
void PFX(cpu_neon_test)(void) {}
int PFX(cpu_fast_neon_mrc_test)(void) { return 0; }
- #endif
}
#endif
now compile and install x265:
cd x265/build/linux
./make-Makefiles.bash
make -j4
sudo make install
sudo ldconfig
cd ~/t
I used to install some other codecs, but this should be enough for most people. Now the mpv itself:
sudo apt-get install git devscripts equivs
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
./update
rm -f mpv-build-deps_*_*.deb
mk-build-deps -s sudo -i
.deb part is to get some more dependencies. This may not be necessary, but i remember i had build errors because of this before.
Put some options for ffmpeg:
echo --enable-nonfree >> ffmpeg_options
echo --enable-gpl >> ffmpeg_options
echo --enable-version3 >> ffmpeg_options
echo --enable-vdpau >> ffmpeg_options
echo --enable-libass >> ffmpeg_options
echo --enable-libfdk-aac >> ffmpeg_options
echo --enable-libfreetype >> ffmpeg_options
echo --enable-libmp3lame >> ffmpeg_options
echo --enable-libopus >> ffmpeg_options
echo --enable-libtheora >> ffmpeg_options
echo --enable-libvorbis >> ffmpeg_options
echo --enable-libvpx >> ffmpeg_options
echo --enable-libpulse >> ffmpeg_options
echo --enable-libv4l2 >> ffmpeg_options
echo --enable-libx264 >> ffmpeg_options
echo --enable-libx265 >> ffmpeg_options
echo --enable-libmpv-shared > mpv_options
If you miss some of this codecs just skip the line, or remove it later from ~/t/mpv-build/ffmpeg_options file. Finish building and installation:
./rebuild -j4
sudo ./install
That's all
Optionally, you can add your config in file, so you don't write it every time - sudo nano /usr/local/etc/mpv/mpv.conf :
vo=vdpau
hwdec=vdpau
framedrop=vo
hwdec-codecs=all
ao=alsa:device=[hw:1,0]
slang=bg,en,
fs=yes
"slag" line is for subtitles, you can replace "bg" with your language, or remove it at all.