Das Multimedia-Framework GStreamer 1.26.0 ist verfügbar.

Nach einem Jahr der Entwicklung wird GStreamer 1.26 vorgestellt, ein plattformunabhängiges Komponentenpaket zur Erstellung einer breiten Palette von Multimedia-Anwendungen, von Media-Playern und Audio-/Video-Converter bis hin zu VoIP-Anwendungen und Streaming-Systemen. Der GStreamer-Code wird unter der LGPLv2.1-Lizenz veröffentlicht. Die Updates für die Plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly sowie die Bindung gst-libav und der Streaming-Server gst-rtsp-server werden separat entwickelt. Auf API- und ABI-Ebene ist die neue Version rückwärtskompatibel mit dem Branch 1.0. Binär-Builds werden in Kürze für Android, iOS, macOS und Windows bereitgestellt (unter Linux wird empfohlen, Pakete aus der Distribution zu verwenden).

Schlüsselverbesserungen in GStreamer 1.26:

  • Es wurden ein Encoder und ein Decoder für das Videoformat VVC (Versatile Video Coding) hinzugefügt, das auch als H.266-Komprimierungsstandard bekannt ist und in Zusammenarbeit von Arbeitsgruppen bei MPEG (ISO/IEC JTC 1) und VCEG (ITU-T) entwickelt wurde, unter Beteiligung von Unternehmen wie Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm und Sony. H.266 ersetzt H.265 (HEVC) und bietet hohe Effizienz bei der Übertragung und Speicherung aller Bildschirmauflösungen (von SD und HD bis 4K und 8K), unterstützt Video mit erweitertem dynamischem Bereich (HDR, High Dynamic Range) und 360-Grad-Panorama-Video.
  • Ein Encoder und ein Decoder für den Video-Codierungsstandard LCEVC (Low Complexity Enhancement Video Coding) wurden hinzugefügt, der eine zusätzliche Schicht mit Metadaten zur Verbesserung der Qualität bestehender Codecs H.26x und MP4/ISOBMFF implementiert.
  • Es wurden ein Encoder und ein Decoder für das Bildformat JPEG XS hinzugefügt, das als leichtgewichtiges Bildcodierungssystem positioniert ist und minimale Verzögerungen beim Codieren und Decodieren ermöglicht. Es ist darauf ausgelegt, die Übertragung von Bildsequenzen in sehr hoher Qualität (bis zu 8K) zu optimieren. JPEG XS ermöglicht eine erhebliche Reduzierung der erforderlichen Bandbreite ohne merkliche Qualitätsverluste für das menschliche Auge.
  • Die Möglichkeit zur Einfügung und Extraktion versteckter Untertitel für die Formate H.264 und H.265 wurde hinzugefügt.
  • Die Unterstützung für adaptives Streaming auf Basis der Protokolle HLS (HTTP Live Streaming) und DASH (Dynamic Adaptive Streaming over HTTP) wurde verbessert. Neue Multimedia-Datenempfänger (Sink) hlscmafsink und hlssink3 zur Ausgabe von CMAF (fMP4) und MPEG-TS-Fragmente sowie hlsmultivariantsink für variable Ausgaben wurden hinzugefügt.
  • Im Verpacker und Entpacker für MPEG-TS-Multimedia-Container wurde die Unterstützung für die Codecs H.266, JPEG XS, AV1 und VP9 sowie für die Metadaten SMPTE ST-2038 und ID3 hinzugefügt.
  • Für die Formate Matroska und ISO MP4 wurden Verpacker und Entpacker für den Codec H.266/VVC hinzugefügt. In MP4 wurden Entpacker für Videos im Hap- und Lagarith-Format hinzugefügt.
  • Die Unterstützung für SMPTE 2038 wurde hinzugefügt, ein System zur Anfügung zusätzlicher Daten und Metadaten an Multimedia-Container.
  • Die Integration mit der Grafik-API Vulkan wurde verbessert. Die Möglichkeiten für das Speichermanagement, die Auswahl des Farbraums, das Gerätemanagement und den Vollbildbetrieb wurden erweitert. Unterstützung für Vulkan-Erweiterungen zur Beschleunigung der Dekodierung von H264- und H265-Videos wurde hinzugefügt. Die Leistung des Encoders, der Vulkan nutzt, wurde gesteigert.
  • Die Integration mit OpenGL wurde verbessert. Unterstützung für zusätzliche Farbkonvertierungsformate und Pixel-Formate wurde hinzugefügt. Unterstützung für den Import von Streams mithilfe von DMABufs wurde hinzugefügt.
  • Die Integration mit der Qt6-Bibliothek und QML wurde verbessert.
  • Die Komponenten zur Integration mit CUDA und dem NVIDIA Video Codec SDK wurden erweitert. Ein AV1-Encoder auf Basis der NVCODEC-API wurde hinzugefügt.
  • Die Bibliothek gst-d3d12 mit Encodern und Decodern auf Basis der Direct3D 12-API wurde implementiert.
  • Der RTSP-Stack hat Unterstützung für die Verwaltung von MIKEY-Schlüsseln auf der Client-Seite erhalten.
  • In audioconvert wurde die Unterstützung für die Neugruppierung von Audiospuren hinzugefügt.
  • In das Plugin auf Basis der GTK3-Bibliothek wurde Unterstützung für OpenGL/WGL auf der Windows-Plattform hinzugefügt.
  • Im Element imagefreeze wurde die Unterstützung für die Formate JPEG und PNG hinzugefügt.
  • Im Element pitch wurde die Möglichkeit zur Rückwärtswiedergabe implementiert.
  • Im Element rtmp2 wurden die Authentifizierungsmechanismen bei RTP-Servern verbessert. Unterstützung für die Authentifizierung im CDN Limelight wurde hinzugefügt.
  • In das Plugin zur Integration mit VA-API wurden Elemente zum Beschleunigen der Dekodierung von H.266 (VVC) sowie für die Kodierung von VP8 und JPEG hinzugefügt.
  • Es wurden Elemente zur Arbeit mit Streams auf Basis des QUIC-Protokolls (raw QUIC, RTP-over-QUIC und WebTransport) hinzugefügt.
  • Im Paket gst-plugins-rs wurden 23 neue Elemente oder Plugins hinzugefügt, die in der Programmiersprache Rust geschrieben wurden. Die in Rust geschriebenen Plugins können in Programmen in jeder Sprache verwendet werden, und die Arbeit mit ihnen ist analog zur Verwendung von Plugins in C und C++.

Quelle: opennet.ru

60GB SSD 8Gb DDR4