orange-pi-one-lego-ironman

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

  • Gracias por la información. Llevo probándola varios días y no me acaba de convencer, la veo de lo más inestable, incluso en Armbian al actualizar paquetes, se pueden estropear cosas. Estuve probando OpenElec, y al grabar la imagen con dd no me arrancaba, la grabé de nuevo en la misma microSD con Win32DiskImager y sin problemas, no me había pasado nunca. Cuando le conectas algún Wifi USB, en mi caso un Tp-Link, parece que funciona pero luego se queda colgada. Android va muy lento, y no parece tampoco nada robusto.

    Por cierto estuve probando PiCAST en Armbian, y es de lo más curioso. Pero nada que no se pueda hacer con Openelec y yatse.

    Al final, desde luego si uno quiere ir a lo seguro la Raspberry es la ganadora.

    • Sin lugar a dudas, mi recomendación es siempre primero Raspberry, y luego si ya la tienes y te sientes cómodo y buscas más potencia te vas a ODROID o algo barato te vas a OrangePi o algo robusto como las Olimex LIME.
      Lo de la Orange Pi es lógico que se arrastre con Android y 512MB, lo del Wi-Fi con armbian está reconocido por ellos, ya que es un tema que no les interesa. De todas formas ayer lanzaron actualización del kernel – armbian 5.11 – y hay también un tutorial sobre Wireless que tengo que probar http://forum.armbian.com/index.php/topic/1237-tutorial-opi-one-wireless-success/

  • Mario

    Buenas Manuti, que opinas de la orange pi plus 2? Me interesa lo completa que es para su precio pero hay muy poca info sobre ella.

    • No las he mirando en detalle, pero el soporte y el software es en general penoso. Sólo las recomiendo como segundo equipo para trasteos y pensando en las que tengan soporte de ARMbian. Y teniendo en cuenta que este sistema operativo está orientado principalmente a servidores hay que pensar en ese tipo de uso y olvidarse de otros: emulación, media center, IoT,…

  • Buenas … Trasteando con la OrangePI-PC

    Entiendo que lo que comentas solo es aplicable a armbian, yo tengo instalado Ubuntu Mate, es con el que me siento más cómodo … Lo que me muestra;

    al ejecutar vdpauinfo

    display: :10.0 screen: 0
    Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object …
    Error creating VDPAU device: 1

    tecleo; export VDPAU_DRIVER=sunxi

    luego; vdpauinfo

    display: :10.0 screen: 0
    Failed to open VDPAU backend libvdpau_sunxi.so: cannot open …
    Error creating VDPAU device: 1

    ¿Debo renunciar a la aceleración de vídeo en Ubuntu Mate con OrangePI-PC?

    • Veo en la web de Orangepi.org que tiene el mismo SoC, el Allwinner H3 , por lo que el driver de vídeo debe funcionar, otra cosa es que no esté instalado o incluido en la instalación de Ubuntu MATE.

      • Creo que ese es el problema, en “synaptic” buscando por “sunxi” solo aparece el “sunxi tools” … buscaré por internet como instalar “libvdpau_sunxi.so” en Ubuntu Mate-OPI-PC …

        • Lo mismo puedes añadir el repositorio de armbian como expliqué ayer para el de Raspbian (en el artículo sobre poner armbian en español) y así intentar instalar esa librería. Ojo, haz copia de la sd antes porque no sé si esto que propongo es una barbaridad, mezclando Ubuntu y Debian. Este sería el repositorio en concreto:

          deb http://apt.armbian.com jessie main

          • He encontrado esto http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=878 , creo que es la solución … otra cosa es que me ponga a hacerlo … ¡que lo haré! pero antes tengo que hacer una hora de meditación zen …

          • Ja, ja, ja,…
            Te entiendo perfectamente, hay veces que partía las placas en dos de un martillazo.
            Más de una vez me he puesto a preparar un artículo sobre un tema, entre una cosa y otra le acabo dedicando una semana para probarlo y comprobarlo y lo único que consigo es descubrir que los resultados son aleatorios y que estoy en un callejón sin salida y sin nada para publicar.

          • Por ahora “libvdpau-sunxi” se resiste, creo que lo he hecho todo bien pero al intentar compilar tengo dos errores del tipo
            : decoder.c:205:7: error: ‘VDP_DECODER_PROFILE_HEVC_MAIN’ undeclared …
            FIN DEL PRIMER ASALTO … GANA LA ORANGEPI …

          • Me parto de risa, aquí estoy yo luchando para instalar Corebird desde Github … creo que somos masoquistas.

          • Masoquistas, pero solo un poco … En este segundo asalto he conseguido pararle los pies a la OPI, el problema consistia en que las cabeceras de desarrollo “libvdpau-dev” instaladas por defecto en Ubuntu Mate no compilan … hay que seguir las instrucciones de aqui (acentos, nada, aun tengo teclado ingles)

            http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=723

            aun asi solo he conseguido video acelerado con “mpv –vo=vdpau –hwdec=vdpau –hwdec-codecs=all test.mkv”, mplayer y vlc, nada de nada, aun configurando codecs a vdpau … OPI vs HUMAN – Empatados

            Por cierto, como se calienta la JODIDA-OPI, y con disipador … me parece que los amigos de XUNLONG o no lo han calculado bien o lo han calculado para que se tueste (pensando mal) …

  • Pingback: Configurar VDPAU en ARMBIAN Debian Linux en Orange Pi One | Raspberry para torpes()