GStreamer 1.26.10 llega con Mejoras en streaming adaptativo HLS/DASH y gestión de pistas con adaptivedemux2

GStreamer sigue siendo uno de esos proyectos que casi nunca se ven, pero que están detrás de buena parte del multimedia que usamos a diario: reproductores, editores, herramientas de streaming, videollamadas… La nueva versión GStreamer 1.26.10 es una actualización de mantenimiento, pero viene cargada de retoques pensados para que todo eso funcione con menos sustos, más estabilidad y más opciones para flujos profesionales.
Esta entrega se centra en afinar el comportamiento del streaming adaptativo, mejorar el tratamiento del audio multicanal (FLAC y Opus), manejar mejor vídeo 4K sin comprimir y pulir componentes críticos como DeckLink, MXF o los bindings de Python. No es una versión “de fuegos artificiales”, sino de esas que conviene instalar cuanto antes si te juegas algo en producción.
Novedades generales de GStreamer 1.26.10
GStreamer 1.26.10 es la décima actualización de mantenimiento de la rama 1.26, publicada aproximadamente tres semanas después de la versión 1.26.9. La serie 1.x mantiene compatibilidad de API y ABI, reemplaza por completo a la antigua 0.10, y ambas pueden convivir en paralelo en un mismo sistema, lo que sigue dando margen a migraciones progresivas.
Este framework permite montar grafos de componentes encargados de procesar audio y vídeo, desde cosas tan básicas como reproducir un fichero Ogg/Vorbis hasta pipelines complejos de mezcla, transcodificación o edición no lineal. Las aplicaciones se benefician de nuevas tecnologías de códecs y filtros sin tener que reescribirse, porque basta con añadir plugins con una interfaz genérica y bien definida.
La versión 1.26.10 llega con mejoras repartidas por casi todo el ecosistema: correcciones de streaming HLS/DASH, soporte ampliado de formatos profesionales, ajustes en elementos de grabación, optimizaciones de compilación con Cerbero y, como siempre, un buen puñado de arreglos de estabilidad y fugas de memoria.
Streaming adaptativo HLS/DASH y adaptivedemux2 en GStreamer 1.26.10
Uno de los puntos sensibles que se refuerza en esta versión es el streaming adaptativo con HLS y DASH, clave para plataformas OTT, servicios de vídeo bajo demanda o aplicaciones que emiten en redes con calidad variable (móviles, Wi‑Fi saturadas, etc.).
Hasta ahora, al desactivar y volver a activar pistas de audio o vídeo dentro de flujos adaptativos, podían aparecer comportamientos raros cuando intervenía el elemento adaptivedemux2. Pequeños bugs de selección de stream podían acabar en cortes, silencios inesperados o saltos no deseados.
En GStreamer 1.26.10 se revisa a fondo la lógica de selección y gestión de flujos en adaptivedemux2 para esos casos de activación / desactivación de pistas. El resultado es un comportamiento mucho más predecible cuando el usuario cambia de idioma de audio, alterna pistas de vídeo o se juega con diferentes variantes de calidad durante la reproducción.
Además, se han introducido ajustes específicos en la gestión de clientes HLS y DASH para que el cambio entre representaciones y segmentos sea más robusto, manteniendo la reproducción en marcha incluso en redes inestables, algo muy relevante en escenarios de streaming continuo o en emisiones en directo.
Audio en GStreamer 1.26.10: FLAC en DASH, 6.1 / 7.1 y mejoras en Opus
FLAC en manifiestos DASH y audio de alta calidad
En el terreno del audio, uno de los cambios que más llama la atención es la incorporación de soporte para FLAC en manifiestos DASH. Puede parecer un detalle menor, pero para quienes priorizan calidad de audio, esta mejora abre la puerta a flujos de streaming con audio sin pérdidas en entornos donde antes se recurría casi siempre a formatos con compresión con pérdida.
Con este cambio, los manifiestos DASH pueden declarar pistas FLAC de forma estándar, de modo que los clientes GStreamer capaces de manejarlas puedan reproducirlas o seleccionarlas según las capacidades del dispositivo y las preferencias del usuario. Es un paso interesante para servicios musicales de alta fidelidad o plataformas que quieran ofrecer audio premium.
Soporte avanzado para FLAC multicanal y 32 bits
El plugin de FLAC también recibe mejoras importantes: ahora maneja de forma correcta configuraciones de canales 6.1 y 7.1, muy habituales en entornos de cine en casa avanzado, estudios de mezcla o instalaciones envolventes. Más detalles sobre mejoras de rendimiento y códecs relacionados pueden verse en mejoras de la serie 1.26.
A esto se suma el soporte completo de codificación y decodificación de audio a 32 bits, que amplía el rango dinámico y reduce el ruido de cuantificación en flujos de trabajo profesionales. Para tareas de masterización o archivado, poder trabajar con 32 bits en todo el pipeline resulta especialmente interesante.
Estas correcciones incluyen arreglos de distribución de canales y layouts multicanal, que en versiones previas podían dar problemas con algunos esquemas poco habituales, provocando asignaciones incorrectas o confusiones entre posiciones de altavoces.
Opus: multicanal y sonido envolvente más pulidos
El códec Opus tampoco se queda fuera de la fiesta. En GStreamer 1.26.10 se han aplicado mejoras en el codificador Opus (opusenc), con especial atención a la gestión de audio multicanal y envolvente, que en ciertos escenarios era más delicada de lo deseable.
Los cambios apuntan a que las pistas surround se gestionen de manera más coherente y estable, reduciendo sorpresas al codificar contenido para videoconferencia avanzada, juegos o plataformas de streaming que utilicen Opus para audio multicanal. El objetivo es que el desarrollador pueda confiar en que la salida del códec se comporta de forma consistente en todo el rango de configuraciones de canales admitidas.
Vídeo en GStreamer 1.26.10: flujos 4K sin comprimir y correcciones en salida
glimagesink y alturas de búfer poco habituales
En el apartado de vídeo, se corrige un fallo en glimagesink al trabajar con buffers de alturas “raras”, es decir, aquellas que no encajan en los patrones habituales de resolución o alineamiento.
Antes, estos casos podían provocar errores visuales o incluso fallos de reproducción sin demasiadas pistas de qué estaba ocurriendo. Con la corrección incluida en GStreamer 1.26.10, el elemento maneja mejor estas alturas atípicas y se reduce considerablemente el riesgo de bloqueos o glitches visuales cuando se usan resoluciones poco estándar o procesos intermedios de reescalado.
matroskademux y soporte para 4K sin comprimir
Otro cambio notable llega a matroskademux, el demultiplexor para Matroska. Ahora se permiten tamaños de bloque mucho más grandes, algo imprescindible para poder transportar flujos de vídeo 4K sin comprimir dentro de contenedores Matroska.
Esto implica que el demuxer es capaz de manejar bloques de datos de gran tamaño sin ahogarse, lo que se traduce en compatibilidad ampliada con pipelines de captura y procesado de vídeo de altísima calidad, donde se quiere evitar la compresión a toda costa.
En paralelo, se ha ajustado el tamaño máximo de bloque en el sistema de entrada basado en curl, de forma que el elemento curlhttpsrc pueda descargar y suministrar datos suficientes para estos flujos 4K sin comprimir. Sin este aumento del tamaño permitido, algunos streams de muy alto bitrate simplemente no eran viables.
Entornos profesionales en GStreamer 1.26.10: DeckLink, MXF y XDCAM
DeckLink: sincronización de fotogramas y firmware moderno
Para quienes trabajan en broadcast o producción en tiempo real, el soporte para tarjetas Blackmagic DeckLink es fundamental. GStreamer 1.26.10 incluye una corrección importante en el sumidero de vídeo DeckLink, relacionada con las devoluciones de llamada de finalización de fotogramas.
En sistemas con firmware 14.3 o superior, estas callbacks podían comportarse de forma errática, afectando tanto a la captura como al playout. Las correcciones introducidas buscan asegurar que la sincronización de fotogramas sea estable, minimizando los desajustes entre audio y vídeo o los errores en la temporización en entornos críticos.
MXF y variante personalizada de Sony XDCAM
El soporte para el contenedor MXF, muy extendido en workflows de televisión, también crece en esta versión. GStreamer 1.26.10 añade compatibilidad con una variante personalizada de vídeo Sony XDCAM, que hasta ahora podía dar problemas de interpretación o no estar soportada.
Con esta ampliación, las instalaciones que trabajan con cámaras o servidores Sony XDCAM específicos pueden integrar mejor sus flujos MXF en pipelines GStreamer, sin necesidad de pasos intermedios de conversión. Esto agiliza la edición, ingest y archivo en entornos broadcast, donde el tiempo y la fiabilidad mandan.
Grabación, multiplexación y edición segmentada en GStreamer 1.26.10
qtmux y cálculo fiable de espacio en disco
En el ámbito de la grabación, el elemento qtmux, responsable de contenedores tipo QuickTime/MP4, introduce una mejora clave para su modo de grabación robusto: la estimación de espacio libre en disco es ahora mucho más precisa.
Hasta ahora, cuando un flujo comenzaba con un desplazamiento en las marcas de tiempo, los cálculos podían desajustarse, lo que complicaba prever si había suficiente espacio o cuándo se alcanzaría el límite. Con la actualización, qtmux ajusta mejor estos cálculos, reduciendo las sorpresas desagradables de grabaciones que se cortan de golpe o contenedores que se cierran de manera incorrecta.
splitmuxsrc: búsquedas y edición de archivos largos
Otro elemento que se beneficia de esta versión es splitmuxsrc, utilizado para manejar grabaciones segmentadas (por ejemplo, múltiples ficheros consecutivos que forman una sola sesión de vídeo).
Las mejoras se centran en el comportamiento durante las operaciones de búsqueda (seeking), de manera que saltar a diferentes puntos de la cronología en archivos largos o en conjuntos de ficheros resulta más fluido y fiable. Esto es muy útil en escenarios de edición o revisión de grabaciones continuas, donde se necesita navegar rápidamente sin que la reproducción se rompa o se pierda el sincronismo.
Bindings de Python y mejoras en Cerbero en GStreamer 1.26.10
Correcciones en las sondas de pad y buffers grabables
Para quienes integran GStreamer en scripts, herramientas personalizadas o aplicaciones completas escritas en Python, esta versión es especialmente interesante. Se ha corregido una regresión en los bindings de Python que hacía que los búferes entregados a las devoluciones de llamada de las sondas de pad no fueran grabables.
En GStreamer 1.26.10 se recupera el comportamiento esperado: las sondas de pad vuelven a recibir buffers que pueden modificarse, permitiendo aplicar transformaciones, inspecciones o instrumentación directamente desde Python sin tener que dar rodeos. Para muchos flujos de trabajo de automatización, depuración y prototipado, este cambio es crítico.
Cerbero: compilación cruzada, GstApp y Windows
Cerbero, la herramienta oficial para compilar y empaquetar GStreamer en múltiples plataformas, también recibe su ración de mejoras. Ahora incluye enlaces de Python para GstApp, uno de los módulos clave cuando se integran aplicaciones propias con pipelines GStreamer a bajo nivel. Información sobre empaquetado y compilaciones en la serie puede consultarse en análisis técnico.
Además, se ha trabajado en pulir el instalador de Windows y en solucionar diversos problemas de compilación en distintas plataformas y configuraciones, incluyendo la integración con versiones recientes de Visual Studio. Esto simplifica la vida a desarrolladores que compilan en Windows pero despliegan en otros sistemas, reduciendo fricciones en proyectos que necesitan binarios para varias arquitecturas.
Descarga, licencia y disponibilidad de GStreamer 1.26.10
El proyecto GStreamer se distribuye bajo licencia LGPL, lo que facilita su uso tanto en proyectos de código abierto como en soluciones comerciales, siempre respetando las obligaciones de la licencia.
Quien lo desee puede descargar el código fuente de GStreamer 1.26.10 directamente desde la página oficial y compilarlo, algo habitual entre distribuidores, integradores y usuarios avanzados que requieren opciones específicas o adaptaciones a medida.
Para la mayoría de usuarios, lo más cómodo es instalar y actualizar GStreamer desde los repositorios estables de su distribución GNU/Linux u otros sistemas soportados. Así se mantiene la coherencia con el resto del sistema, se simplifican las actualizaciones y se minimizan riesgos de incompatibilidad.
La combinación de las mejoras acumuladas en 1.26.9 y las nuevas correcciones y funciones de 1.26.10 dejan la rama 1.26 en un punto especialmente sólido: menos errores, más estabilidad y mejor soporte para flujos profesionales y domésticos, desde el usuario que sólo quiere reproducir contenido sin cortes hasta la empresa que basa su infraestructura audiovisual entera en este framework.
