GStreamer 1.20 ya está entre nosotros para continuar con el desarrollo y la evolución de este conocido framework multiplataforma publicado como software libre, que destaca sobre todo por ser uno de los pilares del soporte multimedia de Linux, aunque también ofrece soporte para Windows, macOS, BSD y Android.
Lo primero que han resaltado los responsables es la migración del desarrollo a un único repositorio de GitLab en el que están todos los módulos. Otra novedad es la nueva biblioteca de alto nivel, GstPlay, que viene a sustituir a GstPlayer, y que los perfiles de renderizado pueden ahora ser modificados con propiedades de elementos adicionales especificadas por la aplicación.
A nivel de compositor han sido añadidos la conversión y el mezclado multiproceso; soporte de renderizado inteligente para VP8, VP9 y H.265; compatibilidad del entorno de ejecución para libsoup2 y libsoup3 (estando en estado experimental para el segundo); además que los multiplexadores de MP4 y Matroska ahora soportan los cambios de perfil, nivel y resolución para las transmisiones de entrada de H.264 y H.265.
Adentrándonos en un terreno menos genérico, tenemos la incorporación de soporte de audio para el elemento de página web WebKit Port for Embedded (WPE), la introducción de mejoras para WebRTC y el espacio de color de vídeo basado en CUDA (NVIDIA) convierte y cambia la escala, la carga y la descarga de los elementos. Continuando con cosas relacionadas con NVIDIA, está el soporte de ‘memory:NVMM’ para los lementos ‘glupload’ y ‘gldownload’ de OpenGL.
GStreamer 1.20 soporta la compilación contra FFmpeg 5.0, la nueva implementación del plugin de VA-API soporta más decodificadores y elementos de procesamiento y el soporte de códec sin estado de Linux ha añadido los formatos MPEG-2 y VP9, mientras que los decodificadores de Direct3D11/DXVA de Windows han agregado soporte para AV1 y MPEG-2.
Por último se pueden destacar unos bindings de Rust actualizados, una gran cantidad de nuevos plugins para el mismo lenguaje de programación y la nueva API AppSink para recuperar eventos además de búferes y listas de búfueres. Por su parte, AppSrc ha recibido más opciones de configuración para la cola interna.
Todos los detalles GStreamer 1.20 están disponibles en las notas de lanzamiento, mientras que la versión del framework que nos ocupa puede obtenerse a través de instaladores disponibles para Windows, macOS, Android e iOS. En Linux, por lo general, lo suyo es esperar a que sea suministrado a través de los repositorios de la distribución utilizada, si bien su actualización tampoco es que sea algo crítico para la mayoría.