Der Multimedia-Framework GStreamer 1.28.0 ist verfügbar.

Nach fast einem Jahr Entwicklung wurde die Version GStreamer 1.28 veröffentlicht, ein plattformübergreifendes Set von Komponenten zur Erstellung einer breiten Palette von Multimedia-Anwendungen, von Media-Playern und Audio-/Video-Konvertern bis hin zu VoIP-Anwendungen und Streaming-Systemen. Der Code von GStreamer wird unter der LGPLv2.1-Lizenz veröffentlicht. Separat werden Updates für die Plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly sowie für das Wrapper-Plugin gst-libav und den Streaming-Server gst-rtsp-server entwickelt. Auf API- und ABI-Ebene ist die neue Version abwärtskompatibel mit dem Branch 1.0. Binärassemblierungen werden in Kürze für Android, iOS, macOS und Windows vorbereitet (unter Linux wird die Verwendung von Paketen aus der Distribution empfohlen).

Wesentliche Verbesserungen in GStreamer 1.28:

  • Ein neues HIP-Plugin (Heterogeneous-computing Interface for Portability) wurde hinzugefügt, um die von AMD entwickelte Programmierschnittstelle für heterogene Berechnungen zu unterstützen, bei denen neben der CPU auch GPU-Power für parallele Berechnungen eingesetzt wird. HIP erleichtert die Unterstützung verschiedener GPUs in einer einzigen Codebasis (für die Ausführung auf AMD-GPUs wird der ROCm-Stack genutzt, während für NVIDIA-GPUs eine Übersetzungsebene in CUDA implementiert wird). Das Plugin bietet Komponenten, die mit HIP umgesetzt wurden, um Aufgaben wie Video-Mischung, Farbkonvertierungen, Video-Resizing und den Datenaustausch zwischen dem Hauptspeicher und dem Videospeicher zu ermöglichen. Zusätzlich wurde eine Bibliothek vorbereitet, um die Unterstützung von HIP in Anwendungen zu integrieren.
  • Die Unterstützung des Videoencodierungsstandards LCEVC (Low Complexity Enhancement Video Coding) wurde hinzugefügt, der über den herkömmlichen Codecs H.265 und H.266 eine zusätzliche Schicht mit Metadaten zur Verbesserung der Videoqualität implementiert. Die Implementierung des LCEVC-Encoders und -Decoders basiert auf Bibliotheken aus dem SDK V-Nova.
  • Die Unterstützung der Vulkan-Grafik-API wurde hinzugefügt, um die Video-Dekodierung in den Formaten AV1 und VP9 sowie die Video-Kodierung im H.264-Format zu beschleunigen. Der auf Vulkan basierende H.265-Video-Dekoder unterstützt nun eine Farbtiefe von 10 Bit pro Kanal.
  • Im Element gtkwaylandsink, das für das Rendering mit GTK4 und Wayland vorgesehen ist, wurden die Farbmanagement-Funktionen erweitert, darunter die Unterstützung für das Parsen und Festlegen von HDR10-Metadaten.
  • Ein neues Element zur Trennung von Audioquellen (zum Beispiel zur Trennung von Stimme und Hintergrundmusik) wurde hinzugefügt, das auf der Bibliothek charon-audio basiert und die Demucs-Methode in Rust implementiert. Außerdem enthält es ein Rust-basiertes Deepgram-Plugin zur Spracherkennung.
  • Die Möglichkeiten zur Analyse und Objekterkennung wurden erweitert. Es wurden Elemente zum Kombinieren und Trennen von Analysen hinzugefügt. Der Classifier tensor-decoder, der Gesichtserkenner facedetector, der Objekt-Detektor YOLOv8 sowie ein Element zur Ausführung und ein Decoder für das Objekterkennungsmodell YOLOX wurden implementiert. Außerdem wurde das Element tensordecodebin für die automatische Verbindung von Decodern und ein Element zur Ausführung von AI-Modellen mit LiteRT (ehemals TensorFlow Lite) hinzugefügt.
  • Ein neues Element zum Dekodieren von GIF-Bildern wurde hinzugefügt, das in Rust geschrieben ist und Schleifenanimationen unterstützt.
  • Im Element input-selector wurde ein zweiphasiger Mechanismus zur Umschaltung zwischen Eingangsstromen (sinkpad) implementiert, der ein Wettlaufverhältnis beim Umschalten ausschließt.
  • Im Element webrtcsink wurden Unterstützung für hardwarebeschleunigtes Encoding mittels VA-API und die Möglichkeit zur erneuten Verhandlung der Verbindung hinzugefügt.
  • Elemente zum Kombinieren und Extrahieren von Streams im Format des Rundfunkstandards ST-2038 wurden hinzugefügt.
  • Dem Element fallbacksrc wurde die Unterstützung für kodierte Streams hinzugefügt.
  • Im FLV-Multimedia-Container, der für RTMP-Streaming verwendet wird, wurde die Unterstützung für Video H.265 verbessert und Unterstützung für Mehrkanalton hinzugefügt.
  • Das Element glupload unterstützt jetzt einen Uploader auf Basis von udmabuf, der das Teilen von Puffern zwischen Software-Decodern/Quellen, GPU, Display-Engines (Wayland) und anderen Geräten ermöglicht.
  • Das qml6-Element wurde für das Rendering mit Qt6 QML hinzugefügt.
  • Die Bibliothek für die Videobearbeitung erlaubt nun das Zuschneiden, Skalieren, Drehen und Verschieben.
  • Das Objekt GstContext wurde hinzugefügt, um einen gemeinsamen Pool von Threads zur Verbesserung der Leistung bei Operationen wie Compositing und Video-Transformationen zu nutzen.
  • Das Element icecastsink wurde für den Empfang von Streams aus IceCast hinzugefügt, unterstützt das AAC-Format und ist in Rust geschrieben.
  • Ein neues Element für die Klonstimme von ElevenLabs wurde hinzugefügt.
  • Der Sprachsynthesizer hat einen Modus zum Beschleunigen der Wiedergabe bei Beibehaltung der Tonhöhe erhalten.
  • Das Element vmaf wurde hinzugefügt, um die Wahrnehmung der Videoqualität mit dem VMAF-Framework von Netflix zu bewerten.
  • Ein neues MPEG-H Audio-Decoding-Plugin wurde hinzugefügt, basierend auf dem Fraunhofer MPEG-H Decoder und unterstützt die Entpackung von MP4-Mediencontainern.
  • Die Unterstützung für versteckte Untertitel (CC — Closed Captions) und die Textverarbeitung wurden erweitert.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster