Rilasciato GStreamer 1.26: Nuove Funzionalità, Miglioramenti e Ottimizzazioni

GStreamer è un framework open-source, multi-piattaforma, progettato per creare applicazioni di streaming multimediale. La “G” iniziale si riferisce a GNOME, il progetto desktop per cui GStreamer è stato originariamente sviluppato, mentre “Streamer” richiama il concetto di streaming multimediale, che rappresenta una delle sue principali funzionalità. Questo strumento è ampiamente utilizzato per gestire audio e video, supportando una vasta gamma di formati e codec. GStreamer è disponibile per diverse piattaforme, tra cui GNU/Linux, Android, macOS e Windows, ed è soggetto ai termini della licenza LGPL-2.1 o successiva.
Caratteristiche Generali di GStreamer
GStreamer utilizza un’architettura modulare basata su pipeline (una sequenza di elementi connessi tra loro), un approccio che consente di collegare e orchestrare diversi elementi in modo flessibile per la gestione e l’elaborazione di flussi di dati multimediali. Ogni pipeline è composta da una serie di plugin o elementi, che svolgono funzioni specifiche, come la decodifica di file audio e video, la codifica, la sincronizzazione o la modifica del formato dei flussi multimediali.
Questi elementi sono altamente modulari e possono essere facilmente sostituiti, riordinati o combinati, permettendo così agli sviluppatori di creare soluzioni personalizzate per soddisfare esigenze specifiche. Ad esempio, un singolo elemento può essere sostituito per cambiare un codec, o un’intera pipeline può essere modificata per passare dalla riproduzione locale alla trasmissione in streaming. Questa flessibilità rende GStreamer adatto a una vasta gamma di applicazioni, tra cui:
- Lettori multimediali: Implementando pipeline per riprodurre file audio e video da sorgenti locali o da rete.
- Editor video: Utilizzando pipeline per elaborare e manipolare contenuti video, come taglio, unione e applicazione di effetti.
- Trasmettitori di streaming: Creando pipeline per trasmettere in tempo reale flussi audio e video attraverso protocolli di rete come RTP o HTTP.
- Sistemi di elaborazione multimediale: Gestendo pipeline complesse per applicazioni di machine learning, riconoscimento vocale o analisi video in tempo reale.
Un aspetto chiave di GStreamer è la sua indipendenza dalla piattaforma: supporta sistemi operativi come GNU/Linux, Windows, macOS e Android, garantendo interoperabilità tra ambienti diversi. Inoltre, grazie all’utilizzo di plugin, GStreamer offre un sistema espandibile che permette agli sviluppatori di aggiungere nuove funzionalità o supportare formati multimediali emergenti senza modificare l’architettura di base.
In sintesi, l’architettura a pipeline di GStreamer non solo consente un’elevata personalizzazione, ma rappresenta anche una soluzione versatile e potente per affrontare le sfide della gestione multimediale in applicazioni moderne.
Il framework include oltre 250 plugin che forniscono più di 1000 elementi, tra cui:
- Protocolli: gestione dei protocolli per l’accesso ai dati.
- Sorgenti: lettura di dati da file o dispositivi.
- Formati: parser, formatter, muxer, demuxer, metadata e sottotitoli.
- Codec: codificatori e decodificatori per compressione e decompressione dei dati.
- Filtri: converter, mixer, effetti.
- Sink: output per audio e video.
Novità in GStreamer 1.26
GStreamer 1.26 arriva 1 anno dopo GStreamer 1.24 e rappresenta un importante aggiornamento del sistema, con numerose novità significative. In GStreamer i numeri di versione seguono una convenzione particolare: le versioni con numeri pari (come 1.24 o 1.26) rappresentano rilasci stabili, destinati all’uso in ambienti di produzione, dove stabilità e affidabilità sono fondamentali. Le versioni con numeri dispari (come 1.25) sono invece considerate rilasci di sviluppo, utilizzati per testare nuove funzionalità e miglioramenti prima che vengano consolidati in una versione stabile successiva.
A seguire le novità più importanti introdotte in GStreamer 1.26:
- Supporto H.266 (VVC): Questo codec offre un’efficienza maggiore nella compressione video, supportando sia l’encoding che il decoding sia software che hardware. Il VVC è particolarmente utile per il contenuto video di nuova generazione.
- JPEG XS: Un codec a bassa latenza e visivamente senza perdita di dati, ideale per applicazioni che richiedono una qualità video elevata con tempi di risposta rapidi.
- LCEVC (Low Complexity Enhancement Video Coding): Migliora la qualità video su codec esistenti come H.264, offrendo una maggiore efficienza senza aumentare significativamente la complessità computazionale.
- Didascalie Chiuse Migliorate: GStreamer 1.26 introduce nuovi elementi per l’estrazione e l’inserimento di didascalie in H.264/H.265, migliorando l’accessibilità delle applicazioni basate su GStreamer. Inoltre, strumenti come
tttocea708
consentono di convertire testo temporizzato in didascalie chiuse, ampliando il supporto per scenari di streaming online e broadcast. - Streaming Adattivo: Miglioramenti significativi per HLS (HTTP Live Streaming) e DASH (Dynamic Adaptive Streaming over HTTP), con nuovi elementi come
hlscmafsink
ehlsmultivariantsink
, che facilitano la creazione di frammenti CMAF (fMP4) o MPEG-TS per diverse varianti. - Analytics: L’API di analisi di GStreamer include ora un nuovo
GstTensorMeta
per trasferire dati di inferenza tra elementi, supportando relazioni N-a-N inGstAnalyticsRelationMeta
. Inoltre, il pluginoriginalbuffer
consente di ripristinare il buffer video originale dopo le trasformazioni per l’analisi. - Integrazione Hardware: Miglioramenti significativi nell’integrazione con Vulkan, OpenGL e CUDA. La gestione dei buffer Vulkan è stata ottimizzata, e sono stati aggiunti nuovi encoder per formati come H.264 e H.265. L’integrazione con Qt5/Qt6 QML consente l’importazione diretta di DMABuf dai decoder hardware, migliorando le prestazioni su dispositivi embedded.
- Direct3D12: Nuova integrazione con Direct3D12 per Windows, che include elementi come
d3d12swapchainsink
ed3d12deinterlace
, garantendo una condivisione della memoria senza copie e un riproduzione più fluida. - WebRTC: Miglioramenti nella funzionalità WebRTC, con miglioramenti nei rollback, più opzioni di encoder e server di segnalazione integrati nel plugin
webrtcsink
.
In sintesi, GStreamer 1.26 rappresenta un importante passo avanti nel campo del multimedia, offrendo nuove funzionalità e miglioramenti che lo rendono ancora più versatile e potente per lo sviluppo di applicazioni multimediali.
Per maggiori informazioni puoi leggere l’annuncio ufficiale di GStreamer 1.26.
Fonte: https://gstreamer.freedesktop.org/releases/1.26/
Fonte: https://www.phoronix.com/news/GStreamer-1.26-Released
Fonte: https://9to5linux.com/gstreamer-1-26-open-source-multimedia-framework-released-heres-whats-new
Fonte: https://linuxiac.com/gstreamer-1-26-multimedia-frameworks-released/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.





