Na een jaar van ontwikkeling werd GStreamer 1.22 uitgebracht, een platformonafhankelijke set componenten voor het creëren van een breed scala aan multimediatoepassingen, van mediaspelers en audio-/videobestandsconverters tot VoIP-toepassingen en streamingsystemen. De GStreamer-code is gelicentieerd onder LGPLv2.1. Daarnaast worden er updates ontwikkeld voor de plug-ins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, evenals de gst-libav-binding en de gst-rtsp-server streaming-server . Op API- en ABI-niveau is de nieuwe release achterwaarts compatibel met de 1.0-tak. Binaire assemblies zullen binnenkort worden voorbereid voor Android, iOS, macOS en Windows (in Linux wordt aanbevolen om pakketten uit de distributie te gebruiken).
Belangrijkste verbeteringen in GStreamer 1.22:
- Verbeterde ondersteuning voor het AV1-videocoderingsformaat. De mogelijkheid toegevoegd om hardwareversnelling te gebruiken voor AV1-codering en decodering via de VAAPI/VA, AMF, D3D11, NVCODEC, QSV en Intel MediaSDK API's. Nieuwe RTP-handlers toegevoegd voor AV1. Verbeterde parsering van AV1 in MP4-, Matroska- en WebM-containers. De assemblages omvatten elementen met AV1-encoders en decoders gebaseerd op de dav1d- en rav1e-bibliotheken.
- Ondersteuning voor Qt6 geïmplementeerd. qml6glsink-element toegevoegd, dat Qt6 gebruikt om video binnen een QML-scène weer te geven.
- Gtk4paintablesink- en gtkwaylandsink-elementen toegevoegd voor rendering met GTK4 en Wayland.
- Er zijn nieuwe clients voor adaptieve streaming toegevoegd die de protocollen HLS, DASH en MSS (Microsoft Smooth Streaming) ondersteunen.
- Biedt de mogelijkheid om uitgeklede samenstellingen te maken die zijn geoptimaliseerd voor verkleining.
- Ondersteuning toegevoegd voor WebRTC simulcast en Google Congestion Control.
- Er wordt een eenvoudige en op zichzelf staande plug-in geleverd voor verzending via WebRTC.
- Een nieuwe MP4-mediacontainerpacker toegevoegd met ondersteuning voor gefragmenteerde en niet-gefragmenteerde gegevens.
- Nieuwe plug-ins toegevoegd voor Amazon AWS-opslag en audiotranscriptieservices.
- Bijgewerkte bindingen voor de Rust-taal. 19 nieuwe plug-ins, effecten en elementen toegevoegd, geschreven in Rust (gst-plugins-rs). Opgemerkt wordt dat 33% van de wijzigingen in de nieuwe GStreamer zijn geïmplementeerd in Rust (de wijzigingen hebben betrekking op bindingen en plug-ins), en de plug-inset gst-plugins-rs is een van de meest actief ontwikkelde GStreamer-modules. Plug-ins geschreven in Rust kunnen in programma's in elke taal worden gebruikt en het werken ermee is vergelijkbaar met het gebruik van plug-ins in C en C++.
- Rust-plug-ins worden geleverd als onderdeel van officiële binaire pakketten voor de Windows- en macOS-platforms (montage en levering worden ondersteund voor Linux, Windows en macOS).
- Er is een WebRTC-gebaseerde mediaserver geïmplementeerd, geschreven in Rust, die WHIP (WebRTC HTTP ingest) en WHEP (WebRTC HTTP egress) ondersteunt.
- Het videocolorscale-element toegevoegd, dat videoconversie- en schaalmogelijkheden combineert.
- Verbeterde ondersteuning voor video met hoge kleurdiepte.
- Ondersteuning toegevoegd voor touchscreengebeurtenissen aan de navigatie-API.
- H.264/H.265-tijdstempelcorrectie-elementen toegevoegd voor PTS/DTS-reconstructie vóór het verpakken van mediacontainers.
- Op het Linux-platform is het gebruik van DMA verbeterd om samen te werken met buffers bij het coderen, decoderen, filteren en weergeven van video met behulp van hardwareversnelling.
- De integratie met CUDA is verbeterd: de gst-cuda-bibliotheek en het cudaconvertscale-element zijn toegevoegd, er is voorzien in integratie met D3D11- en NVIDIA dGPU NVMM-elementen.
- De integratie met Direct3D11 is verbeterd: er is een nieuwe gst-d3d11-bibliotheek toegevoegd, de mogelijkheden van de plug-ins d3d11screencapture, d3d11videosink, d3d11convert en d3d11compositor zijn uitgebreid.
- Voor AMD GPU's zijn nieuwe hardwareversnelde video-encoders in de formaten H.264/AVC, H.265/HEVC en AV1 geïmplementeerd, gebouwd met behulp van de AMF (Advanced Media Framework) SDK.
- De applemedia-plug-in heeft ondersteuning toegevoegd voor H.265/HEVC-videocodering en -decodering.
- Ondersteuning toegevoegd voor H.265/HEVC-videocodering aan de androidmedia-plug-in.
- De eigenschap force-live is toegevoegd aan de plug-ins audiomixer, compositor, glvideomixer en d3d11compositor om te forceren dat de live-modus wordt ingeschakeld.
Bron: opennet.ru