Quick & Easy: Hardware Accelerated MPV on Raspberry Pi 1/2/3 & Zero
Easier way to install or build mpv with mmal hardware decoding and ffmpeg/libass
Install
mkdir rpimpv && cd rpimpvwget https://awesome.nwgat.ninja/deb/mpv/mpv_0.20.0_armhf.deb https://awesome.nwgat.ninja/deb/mpv/libass_0.13.3-1_armhf.deb https://awesome.nwgat.ninja/deb/mpv/ffmpeg_3.1.3-1_armhf.debsudo dpkg -i *.debsudo apt-get -f installsudo apt-get install libluajitwget https://awesome.nwgat.ninja/deb/mpv/mpv.conf -O $HOME/.config/mpv/mpv.confsudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dlsudo chmod a+rx /usr/local/bin/youtube-dl
Play a file
mpv http://ow.ly/10tB0C(Big Buck Bunny 1080p30)mpv https://www.youtube.com/watch?v=aqz-KE-bpKQ(Big Buck Bunny 1080p30)
mmal error
sudo suecho "gpu_mem=159" >> /boot/config.txtecho "gpu_mem=256" >> /boot/config.txt(rpi2/rpi3)sudo reboot
you can tweak the settings in mpv config file, if you need to move the window or change resolution of youtube, it currently defaults to 1080p30
nano $HOME/.config/mpv/mpv.conf
note: it will default to borderless non-movable window, this is a limitation of raspberry pi
Build it yourself
sudo apt-get install -y gperf bison flex autoconf automake make texinfo help2man libtool libtool-bin ncurses-dev git yasm mercurial cmake cmake-curses-gui libfribidi-dev checkinstall libfontconfig1-dev libgl1-mesa-dev libgles2-mesa-dev gnutls-dev libsmbclient-dev libpulse-dev libbluray-dev libdvdread-dev libluajit-5.1-dev libjpeg-dev libv4l-dev libcdio-cdda-dev libcdio-paranoia-devgit clone https://github.com/mpv-player/mpv-build.gitcd mpv-buildecho --enable-mmal >> ffmpeg_options./use-mpv-release./use-ffmpeg-release./update./rebuild -j4sudo ./install