GStreamer 1.20 ya fue liberado y estas son sus novedades

febrero 11, 2022 , 0 Comments

gstreamer logo

Después de un año y medio de desarrollo se dio a conocer el lanzamiento de la nueva versión de  GStreamer 1.20, un conjunto multiplataforma de componentes escritos en C para crear una amplia gama de aplicaciones multimedia, desde reproductores multimedia y convertidores de archivos de audio/video, hasta aplicaciones VoIP y sistemas de transmisión.

En esta nueva versión se destacan la inclusión de nuevos codificadores, asi como mejoras de soporte para la mezcla de audio y video, entre otras cosas más.

Principales novedades de GStreamer 1.20

En esta nueva versión se menciona que el desarrollo sobre GitLab se ha trasladado al uso de un único repositorio común a todos los módulos.

Por la parte de las novedades que se presentan en esta nueva versión, se destaca que se agregó una nueva biblioteca de alto nivel, GstPlay, que reemplaza la API de GstPlayer y ofrece una funcionalidad similar para reproducir contenido, excepto que usa un bus de mensajes para notificar aplicaciones en lugar de señales de GObject.

Tambien se destaca que se agregó soporte para el mecanismo SMPTE 2022-1 2-D (Corrección de errores hacia adelante), ademas de que encodebin y transcodebin para los códecs VP8, VP9 y H.265 implementan el modo de codificación inteligente («codificación inteligente»), en el que la transcodificación se realiza solo cuando es necesario, y el resto del tiempo, se reenvía la transmisión existente.

Otro de los cambios que se destaca es que se agregó la capacidad de decodificar datos de entrada al nivel de cuadros intermedios (sub-cuadro), lo que le permite comenzar a decodificar sin esperar un cuadro completo. Esta optimización es compatible con los decodificadores OpenJPEG JPEG 2000, FFmpeg H.264 y OpenMAX H.264/H.265.

Ademas de ello en la decodificación de video para los protocolos RTP, WebRTC y RTSP proporciona un manejo automático de la pérdida de paquetes, la corrupción de datos y las solicitudes de fotogramas clave, tambien se agregó soporte para cambiar los datos del códec sobre la marcha a los empaquetadores de contenedores de medios mp4 y Matroska.

Por otra parte, se destaca que se agregó soporte para decodificar información de transparencia en formato WebM, lo que le permite reproducir videos VP8/VP9 con áreas transparentes, asi como tambien el soporte para configurar propiedades adicionales específicas de la aplicación en perfiles de codificación y la capacidad de usar CUDA para la conversión del espacio de color, la escala de elementos y la carga de elementos.

De los demás cambios que se destacan de esta nueva versión:

  • Las clases depayloader y payloader tienen soporte unificado para trabajar con encabezados RTP adicionales.
  • Compatibilidad mejorada con WebRTC.
  • Modo agregado para crear contenedores de medios mp4 fragmentados.
  • Se agregó soporte de eventos a la API AppSink además de búferes y listas de búferes.
  • Se agregaron configuraciones adicionales para las colas internas a AppSrc.
  • Se actualizaron los enlaces del lenguaje Rust y se agregaron 26 nuevos complementos escritos en Rust (gst-plugins-rs).
  • Se agregaron elementos aesdec y aesenc para el cifrado y descifrado mediante el algoritmo AES.
    Se agregaron elementos fakeaudiosink y videocodectestsink para pruebas y depuración.
  • Herramientas mejoradas para crear versiones minimalistas de GStreamer.
    Se agregó la capacidad de compilar con FFmpeg 5.0.
  • Para Linux, se implementan versiones de los códecs MPEG-2 y VP9 que funcionan sin estado.
  • Para Windows, el decodificador basado en Direct3D11/DXVA ha agregado soporte para AV1 y MPEG-2.
  • Complemento de sopahttpsrc compatible con libsoup2 y libsoup3.
  • Compositor admite la conversión y mezcla de video en modo de subprocesos múltiples.

Finalmente si quieres conocer más al respecto sobre esta nueva versión de Gstreamer puedes consultar el registro de cambios en el siguiente enlace.

¿Cómo instalar Gstreamer 1.20 en Ubuntu y derivados?

Si estás interesado en instalar Gstreamer 1.18 en tu distro podrás hacerlo siguiendo los pasos que compartimos a continuación.

El proceso es válido tanto para la nueva version de Ubuntu 20.04 así como para versiones anteriores con soporte.

Para realizar la instalación, solo debemos abrir una terminal (Ctrl+ Alt + T) y en ella tecleamos los siguientes comandos:

sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav

Y listo con ello ya habrán instalado Gstreamer 1.16 en su sistema.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.