Dopo un anno di sviluppo, è stato rilasciato GStreamer 1.22, un set di componenti multipiattaforma per la creazione di una vasta gamma di applicazioni multimediali, da lettori multimediali e convertitori di file audio/video, a applicazioni VoIP e sistemi di streaming. Il codice di GStreamer è distribuito sotto la licenza LGPLv2.1. Gli aggiornamenti per i plugin gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, nonché il wrapper gst-libav e il server di streaming gst-rtsp-server, sono sviluppati separatamente. A livello di API e ABI, la nuova versione è retrocompatibile con il ramo 1.0. Le build binarie saranno presto disponibili per Android, iOS, macOS e Windows (su Linux si consiglia di utilizzare i pacchetti del proprio distributore).
Miglioramenti chiave in GStreamer 1.22:
- Migliorata la supporto per il formato di codifica video AV1. Aggiunta la possibilità di utilizzare l'accelerazione hardware per la codifica e decodifica AV1 tramite le API VAAPI/VA, AMF, D3D11, NVCODEC, QSV e Intel MediaSDK. Nuovi RTP handler per AV1 sono stati aggiunti. Migliorato l'analisi di AV1 nei contenitori MP4, Matroska e WebM. Nelle build sono inclusi elementi con codificatori e decodificatori AV1 basati sulle librerie dav1d e rav1e.
- Supporto implementato per Qt6. Aggiunto l'elemento qml6glsink, che utilizza Qt6 per il rendering video all'interno di una scena QML.
- Aggiunti gli elementi gtk4paintablesink e gtkwaylandsink per il rendering utilizzando GTK4 e Wayland.
- Aggiunti nuovi client per lo streaming adattivo che supportano i protocolli HLS, DASH e MSS (Microsoft Smooth Streaming).
- È stata fornita la possibilità di creare build ridotte, ottimizzate per la riduzione delle dimensioni.
- Aggiunto supporto per WebRTC simulcast e Google Congestion Control.
- Fornito un plugin semplice e indipendente per l'invio tramite WebRTC.
- Aggiunto un nuovo imballatore di contenitori medi MP4 con supporto per dati frammentati e non frammentati.
- Aggiunti nuovi plugin per lo storage Amazon AWS e servizi di trascrizione audio.
- Aggiornati i binding per il linguaggio Rust. Aggiunti 19 nuovi plugin, effetti ed elementi scritti in Rust (gst-plugins-rs). Si segnala che il 33% delle modifiche nel nuovo GStreamer sono state implementate in Rust (le modifiche riguardano binding e plugin), e il set di plugin gst-plugins-rs è uno dei moduli di GStreamer più attivamente sviluppati. I plugin scritti in Rust possono essere utilizzati in programmi in qualsiasi linguaggio e la loro gestione è simile all'uso di plugin in C e C++.
- È garantita la fornitura di plugin per Rust all'interno dei pacchetti binari ufficiali per le piattaforme Windows e macOS (compilazione e fornitura supportate per Linux, Windows e macOS).
- Realizzato un server multimediale scritto in Rust basato su WebRTC, che supporta WHIP (WebRTC HTTP ingest) e WHEP (WebRTC HTTP egress).
- Aggiunto l'elemento videocolorscale, che combina funzionalità per la conversione e la scalabilità dei video.
- Migliorato il supporto per video con elevata profondità di colore.
- Nell'API Navigation è stato aggiunto il supporto per eventi da schermi touch.
- Aggiunti elementi di correzione dei timestamp H.264/H.265 per la ricostruzione di PTS/DTS prima dell'imballaggio dei contenitori multimediali.
- Sulla piattaforma Linux è stato migliorato l'uso di DMA per la cooperazione con i buffer durante la codifica, decodifica, filtraggio e rendering di video utilizzando l'accelerazione hardware.
- Migliorata l'integrazione con CUDA: aggiunta la libreria gst-cuda e l'elemento cudaconvertscale, garantendo l'integrazione con gli elementi D3D11 e NVIDIA dGPU NVMM.
- Migliorata l'integrazione con Direct3D11: aggiunta la nuova libreria gst-d3d11, ampliando le capacità dei plugin d3d11screencapture, d3d11videosink, d3d11convert e d3d11compositor.
- Per GPU AMD sono stati realizzati nuovi codificatori video accelerati hardware nei formati H.264 / AVC, H.265 / HEVC e AV1, costruiti utilizzando l'SDK AMF (Advanced Media Framework).
- Nel plugin applemedia è stata aggiunta la supporto alla codifica e decodifica video H.265 / HEVC.
- Nel plugin androidmedia è stata aggiunta la supporto alla codifica video H.265 / HEVC.
- Nei plugin audiomixer, compositor, glvideomixer e d3d11compositor è stata aggiunta la proprietà force-live per forzare l'attivazione della modalità live.
Fonte: opennet.ru
