Orange Pi One: Corregir errores usando mpv en armbian

Al principio con la Orange Pi One y armbian reproducía vídeo sin problemas, creo que es una mejor opción que usar una versión de Kodi con OpenElec que hay por ahí, y mucho mejor que usar Android con 512MB de RAM que hacen que la placa se arrastre. Pero como soy un torpe y manazas, toqué algo y dejé de poder ver vídeos y además no conseguía arreglarlo, al final a partir de este post del foro de Orange Pi he dado con la solución.

Al reproducir con mpv obtenía errores de este tipo:

Playing: MVI_4002.MOV
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=eng (*) (pcm_s16le)
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
[vo/vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (-vo) device.
Video: no video

O de este otro tras estar tocando para arreglarlo:

Playing: MVI_3989.MOV
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=eng (*) (pcm_s16le)
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vo/vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (-vo) device.
Video: no video

Así que instalé vdpauinfo para poder profundizar en el tema:

sudo apt install vdpauinfo

Y lo ejecutamos para ver la salida:

vdpauinfo

display: :0.0   screen: 0
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

Así que siguiendo la info del post que mencioné al principio, añadimos el driver correcto para las Orange Pi One con el chip Allwinner H3 en armbian:

export VDPAU_DRIVER=sunxi

Y al ejecutar de nuevo vdpauinfo:

---------------
display: :0.0   screen: 0
[VDPAU SUNXI] VE version 0x1680 opened
[VDPAU SUNXI] OSD disabled!
API version: 1
Information string: sunxi VDPAU Driver

Video surface:

name   width height types
-------------------------------------------
420     8192  8192  NV12 YV12 

Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                 0 32400  3840  2160
MPEG2_SIMPLE          3 32400  3840  2160
MPEG2_MAIN            3 32400  3840  2160
H264_BASELINE        51 32400  3840  2160
H264_MAIN            51 32400  3840  2160
H264_HIGH            51 32400  3840  2160
MPEG4_PART2_SP        5 32400  3840  2160
MPEG4_PART2_ASP       5 32400  3840  2160

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8          8192  8192    -  
R8G8B8A8          8192  8192    -  

Bitmap surface:

name              width height
------------------------------
B8G8R8A8          8192  8192
R8G8B8A8          8192  8192

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         0     8192
VIDEO_SURFACE_HEIGHT             y         0     8192
CHROMA_TYPE                      y  
LAYERS                           y         0        0

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 -  
CSC_MATRIX                       -  
NOISE_REDUCTION_LEVEL            -  
SHARPNESS_LEVEL                  -  
LUMA_KEY_MIN_LUMA                -  
LUMA_KEY_MAX_LUMA                -  

vdpauinfo

Y ya podemos reproducir vídeos, por ejemplo a pantalla completa utilizando el comando:

mpv --fs VIDEO.MOV

Y que deja esta información en la Terminal que podremos ver al terminar el vídeo.

Playing: MVI_3968.MOV
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=eng (*) (pcm_s16le)
[VDPAU SUNXI] VE version 0x1680 opened
[VDPAU SUNXI] OSD disabled!
AO: [alsa] 48000Hz stereo 2ch s16
Using hardware decoding (vdpau).
VO: [vdpau] 1280x720 vdpau
[VDPAU SUNXI] Presentation time not supported
AV: 00:00:01 / 00:01:10 (2%) A-V:  0.409

mpv

https://www.facebook.com/raspberryparatorpes