QtAV en Velneo
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
Reproductor QtAV y soporte para filtros
Reproductor QtAV y soporte para Multi-ventana.
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.
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
Muy bueno, me parce muy interesante los articulos que presentas sobre velneo, son grandes posiblidades.
Saludos
Me alegro mucho de que te gusten. Pronto publicaremos otros con más librerías soportadas por Velneo.
Gran trabajo Jorge, gracias por darnos luz sobre QML2 sobre Velneo.
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é
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).
Documentación del elemento Video:
https://github.com/wang-bin/QtAV/blob/master/qml/Video.qml
Todos los elementos expuestos en QML:
https://github.com/wang-bin/QtAV/blob/master/qml/plugin.cpp
https://github.com/wang-bin/QtAV/blob/master/qml/plugins.qmltypes
Hola Jorge.
OK, documentación suficiente para empezar.
Saludos
Paco Satué