En la comunidad Qt hay decenas de proyectos muy interesantes, entre ellos destaca QtAV. QtAV es una biblioteca de reproducción multimedia basada en Qt y FFmpeg. Esta librería es interesante por muchos motivos, entre otros, la compatibilidad de formatos y plataformas.

QtMultimedia, como pudimos ver en el anterior artículo, sufre de ciertos problemas de rendimiento en equipos de bajas prestaciones. Por este motivo nos vimos en la necesidad de evaluar QtAV, para remplazar y mejorar las características multimedia de Qt en ciertos proyectos.

Características de QtAV

Como características principales de QtAV tenemos:

  • Soporte de decodificación por hardware: DXVA2, VAAPI, VDA/VideoToolbox, CedarX, CUDA(the 1st player support CUDA on linux?)
  • Soporte a OpenGL y ES2 para la mayoría de los formatos, incluyendo videos Hi10P
  • Pre-visualización en tiempo real
  • Captura de video en formato rgb y yuv
  • OSD y filtros personalizables
  • Filtros en libavfilter, por ejemplo… stero3d, blur
  • Reproducción frame a frame
  • Control de velocidad de reproducción
  • Soporte a distintos tipos de flujos: ficheros locales, http, rtsp etc… incluso puedes crear tus propios flujos
  • Canal de Audio, tracks y tracks externos
  • Selección de track de subtitulos. Puedes cambiar dinámicamente entre el motor FFmpeg y libass
  • Puedes cambiar dinámicamente de motor de renderizado, incluso cuando estás reproduciendo
  • Multiples salidas de video para un solo reproductor
  • Video eq(software y OpenGL): brillo, contraste, saturación…
  • Soporte para QML. La mayoría de su API es compatible con el módulo QtMultimedia (facilitando la portabilidad)
  • QtAV soporta Qt4 y Qt5, FFmpeg(>=1.0) y Libav (>=9.0).

 

Reproductor QtAV básico

image

Reproductor QtAV y soporte para filtros

image

Reproductor QtAV y soporte para Multi-ventana.

image

Descargar y probar los ejemplos

Para que podáis evaluar QtAV sobre Velneo, hemos preparado un ejemplo básico (mejorando el entregado en el anterior artículo referido a QtMultimedia).

Además del ejemplo, tenéis que compilar las librerías necesarias.

https://github.com/wang-bin/QtAV/wiki/Build-QtAV

Básicamente tenéis que seguir los pasos que os indica en el tutorial de compilación.

Si por el contrario, no queréis sufrir el proceso de compilación, podéis descargarlo desde el siguiente enlace.

Estas librerías se tienen que ubicar en las carpetas raíz de Velneo y en el directorio qml.

Si os parecen interesantes estos ejemplos… esperar a el port que hemos realizado para Velneo del reproductor de QtAV

image

 

9 Comments

  1. Hola Jorge.

    Completísimo reproductor de audio y video que mejora el limitado QtMultimedia y amplía la lista de formatos reproducibles.

    ¿Existe la documentación de las propiedades, señales y métodos de los tipos QML de las nuevas librerías?

    Gracias nuevamente por este esfuerzo.
    Saludos
    Paco Satué

  2. La verdad es que no hay mucha documentación. QtAV es un proyecto complejo y enorme, mantenido con un gran esfuerzo por su creador y pocos acompañantes. Es normal que esté poco documentado.

    Algo tenemos…
    Página principal del proyecto: https://www.qtav.org/
    Wiki con algunas cuestiones: https://github.com/wang-bin/QtAV/wiki/_pages
    Reporte de errores: https://github.com/wang-bin/QtAV/issues
    Ejemplos incluidos en el código fuente (qt y qml).

    Por mi parte añado, los ejemplos compatibles con Velneo, haciendo que sean estos el centro del aprendizaje.

    Empieza revisando uno a uno todos los ejemplos básicos. Aportan ejemplos que cubren el 80-90% de la funcionalidad de los plugins. El restante… toca escarbar en el código (algo sé de ello en este caso).

Responder a Jorge Hontoria Jiménez Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *