Das Multimedia-Framework GStreamer 1.22.0 ist verfügbar

Nach einem Jahr der Entwicklung wurde GStreamer 1.22 veröffentlicht, ein plattformübergreifender Komponentensatz zur Erstellung einer breiten Palette von Multimedia-Anwendungen, von Mediaplayern und Audio-/Videodateikonvertern bis hin zu VoIP-Anwendungen und Streaming-Systemen. Der GStreamer-Code ist unter LGPLv2.1 lizenziert. Separat werden Updates für die Plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly sowie für die gst-libav-Bindung und den Streaming-Server gst-rtsp-server entwickelt . Auf API- und ABI-Ebene ist die neue Version abwärtskompatibel mit dem 1.0-Zweig. Binäre Assemblies werden in Kürze für Android, iOS, macOS und Windows vorbereitet (unter Linux wird empfohlen, Pakete aus der Distribution zu verwenden).

Wichtige Verbesserungen in GStreamer 1.22:

  • Verbesserte Unterstützung für das Videokodierungsformat AV1. Es wurde die Möglichkeit hinzugefügt, Hardwarebeschleunigung für die AV1-Kodierung und -Dekodierung über die APIs VAAPI/VA, AMF, D3D11, NVCODEC, QSV und Intel MediaSDK zu verwenden. Neue RTP-Handler für AV1 hinzugefügt. Verbessertes Parsen von AV1 in MP4-, Matroska- und WebM-Containern. Die Baugruppen umfassen Elemente mit AV1-Encodern und -Decodern, die auf den Bibliotheken dav1d und rav1e basieren.
  • Unterstützung für Qt6 implementiert. qml6glsink-Element hinzugefügt, das Qt6 verwendet, um Videos innerhalb einer QML-Szene zu rendern.
  • gtk4paintablesink- und gtkwaylandsink-Elemente für das Rendern mit GTK4 und Wayland hinzugefügt.
  • Es wurden neue Clients für adaptives Streaming hinzugefügt, die die Protokolle HLS, DASH und MSS (Microsoft Smooth Streaming) unterstützen.
  • Bietet die Möglichkeit, reduzierte Baugruppen zu erstellen, die für eine Größenreduzierung optimiert sind.
  • Unterstützung für WebRTC-Simulcast und Google Congestion Control hinzugefügt.
  • Es wird ein einfaches und eigenständiges Plugin für den Versand per WebRTC bereitgestellt.
  • Ein neuer MP4-Mediencontainer-Packer mit Unterstützung für fragmentierte und nicht fragmentierte Daten wurde hinzugefügt.
  • Neue Plugins für Amazon AWS-Speicher- und Audiotranskriptionsdienste hinzugefügt.
  • Aktualisierte Bindungen für die Rust-Sprache. 19 neue Plugins, Effekte und Elemente hinzugefügt, die in Rust geschrieben wurden (gst-plugins-rs). Es wird darauf hingewiesen, dass 33 % der Änderungen im neuen GStreamer in Rust implementiert sind (die Änderungen betreffen Bindungen und Plugins) und das gst-plugins-rs-Plugin-Set eines der am aktivsten entwickelten GStreamer-Module ist. In Rust geschriebene Plugins können in Programmen in jeder Sprache verwendet werden und die Arbeit mit ihnen ähnelt der Verwendung von Plugins in C und C++.
  • Rust-Plugins werden als Teil offizieller Binärpakete für die Windows- und macOS-Plattformen bereitgestellt (Assemblierung und Bereitstellung werden für Linux, Windows und macOS unterstützt).
  • Es wurde ein in Rust geschriebener WebRTC-basierter Medienserver implementiert, der WHIP (WebRTC HTTP Ingest) und WHEP (WebRTC HTTP Egress) unterstützt.
  • Das Videocolorscale-Element wurde hinzugefügt, das Videokonvertierungs- und Skalierungsfunktionen kombiniert.
  • Verbesserte Unterstützung für Videos mit hoher Farbtiefe.
  • Unterstützung für Touchscreen-Ereignisse zur Navigations-API hinzugefügt.
  • H.264/H.265-Zeitstempelkorrekturelemente für die PTS/DTS-Rekonstruktion vor dem Verpacken von Mediencontainern hinzugefügt.
  • Auf der Linux-Plattform wurde die Verwendung von DMA verbessert, um beim Kodieren, Dekodieren, Filtern und Rendern von Videos mithilfe der Hardwarebeschleunigung mit Puffern zusammenzuarbeiten.
  • Die Integration mit CUDA wurde verbessert: Die gst-cuda-Bibliothek und das cudaconvertscale-Element wurden hinzugefügt, die Integration mit D3D11- und NVIDIA dGPU NVMM-Elementen wurde bereitgestellt.
  • Die Integration mit Direct3D11 wurde verbessert: Eine neue gst-d3d11-Bibliothek wurde hinzugefügt, die Funktionen der Plugins d3d11screencapture, d3d11videosink, d3d11convert und d3d11compositor wurden erweitert.
  • Für AMD-GPUs werden neue hardwarebeschleunigte Video-Encoder in den Formaten H.264/AVC, H.265/HEVC und AV1 implementiert, die mit dem AMF (Advanced Media Framework) SDK erstellt wurden.
  • Das Applemedia-Plugin bietet Unterstützung für die Kodierung und Dekodierung von H.265/HEVC-Videos.
  • Unterstützung für H.265/HEVC-Videokodierung zum Androidmedia-Plugin hinzugefügt.
  • Die Eigenschaft „force-live“ wurde den Plugins „audiomixer“, „compositor“, „glvideomixer“ und „d3d11compositor“ hinzugefügt, um die Aktivierung des Live-Modus zu erzwingen.

Source: opennet.ru

Kommentar hinzufügen