È disponibile il framework multimediale GStreamer 1.28.0

Dopo quasi un anno di sviluppo, è stato rilasciato GStreamer 1.28, un insieme di componenti multipiattaforma per la creazione di una vasta gamma di applicazioni multimediali, dai lettori multimediali e convertitori di file audio/video, alle applicazioni VoIP e ai sistemi di streaming. Il codice di GStreamer è distribuito sotto licenza LGPLv2.1. Aggiornamenti per i plugin gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, così come il wrapper gst-libav e il server di streaming gst-rtsp-server vengono sviluppati separatamente. A livello di API e ABI, la nuova versione è retrocompatibile con il ramo 1.0. Le versioni binarie saranno presto preparate per Android, iOS, macOS e Windows (su Linux si consiglia di utilizzare i pacchetti forniti dalla distribuzione).

Miglioramenti chiave di GStreamer 1.28:

  • È stato aggiunto un nuovo plugin HIP (Heterogeneous-computing Interface for Portability) per supportare l'interfaccia di programmazione sviluppata da AMD per il calcolo eterogeneo, in cui oltre alla CPU vengono utilizzati strumenti di calcolo parallelo GPU. HIP semplifica l'implementazione del supporto per diverse GPU in un'unica base di codice (per l'esecuzione su GPU AMD viene utilizzato il stack ROCm, mentre su GPU NVIDIA si utilizza un layer di traduzione in CUDA). Il plugin fornisce componenti implementati utilizzando HIP per eseguire operazioni come il mixing video, la conversione da uno spazio colore a un altro, il ridimensionamento video e l'organizzazione dello scambio di dati tra la memoria di sistema e la memoria video. Inoltre, è stata preparata una libreria per integrare il supporto HIP nelle applicazioni.
  • È stato aggiunto il supporto per lo standard di codifica video LCEVC (Low Complexity Enhancement Video Coding), che implementa un ulteriore strato di metadati sopra i codec standard H.265 e H.266 per migliorare la qualità video. L'implementazione del codificatore e del decodificatore LCEVC si basa su librerie del SDK V-Nova.
  • È stata aggiunta la supporto per le funzionalità dell'API grafica Vulkan per accelerare la decodifica video nei formati AV1 e VP9, oltre alla codifica video nel formato H.264. Il decodificatore video H.265 basato su Vulkan ora supporta una profondità di colore a 10 bit per canale.
  • Nell'elemento gtkwaylandsink, progettato per il rendering utilizzando GTK4 e Wayland, sono state ampliate le capacità per la gestione del colore, inclusa la compatibilità con l'analisi e la definizione dei metadati HDR10.
  • È stato aggiunto un nuovo elemento per la separazione delle sorgenti audio (ad esempio, separazione della voce dalla musica di sottofondo), basato sulla libreria charon-audio, che implementa il metodo Demucs in linguaggio Rust. Inoltre, è stato incluso il plugin Deepgram per il riconoscimento vocale, anch'esso scritto in Rust.
  • Ampliate le capacità di analisi e riconoscimento degli oggetti. Aggiunti elementi per unire e separare le analisi. Implementato il classificatore tensor-decoder, il rilevatore di volti facedetector, il rilevatore di oggetti YOLOv8, l'elemento per l'esecuzione e il decodificatore per il modello di riconoscimento oggetti YOLOX. Aggiunto l'elemento tensordecodebin per il collegamento automatico dei decodificatori e un elemento per l'esecuzione dei modelli AI tramite LiteRT (sostituto di TensorFlow Lite).
  • Aggiunto un nuovo elemento per la decodifica delle immagini GIF, scritto in Rust e che supporta l'animazione in loop.
  • Nell'elemento input-selector è stato implementato un meccanismo di commutazione a due fasi tra i flussi in ingresso (sinkpad), che esclude la possibilità di condizioni di gara durante la commutazione.
  • Nell'elemento webrtcsink è stato aggiunto il supporto per l'accelerazione hardware della codifica tramite VA-API e la possibilità di rieseguire il raccordo della connessione.
  • Aggiunti elementi per la combinazione e l'estrazione dei flussi nel formato dello standard di trasmissione ST-2038.
  • Nell'elemento fallbacksrc è stato aggiunto il supporto per flussi codificati.
  • Nel contenitore multimediale FLV utilizzato per la trasmissione RTMP, è stato migliorato il supporto per il video H.265 e aggiunto il supporto per l'audio multicanale.
  • Nell'elemento glupload è stato aggiunto il supporto per un caricatore basato su udmabuf, che consente la condivisione di buffer tra decoder/sorgenti software e GPU, motori di visualizzazione (wayland) e altri dispositivi.
  • È stato aggiunto l'elemento qml6 per il rendering utilizzando Qt6 QML.
  • Nella libreria per la gestione video sono state aggiunte operazioni per il ritaglio, il ridimensionamento, la rotazione e lo spostamento.
  • È stato aggiunto l'oggetto GstContext, che consente di utilizzare un pool di thread condivisi durante l'esecuzione degli elementi per migliorare le prestazioni di operazioni come il compositing e la trasformazione video.
  • È stato aggiunto l'elemento icecastsink per ricevere flussi da IceCast, che supporta il formato AAC ed è scritto in Rust.
  • È stato aggiunto un nuovo elemento per la clonazione della voce ElevenLabs.
  • Nel sintetizzatore vocale è stata aggiunta una modalità per aumentare la velocità di riproduzione mantenendo la tonalità.
  • È stato aggiunto l'elemento vmaf per la valutazione della qualità percepita del video utilizzando il framework VMAF di Netflix.
  • È stato aggiunto un nuovo plugin per la decodifica audio MPEG-H, basato sul decodificatore Fraunhofer MPEG-H e che supporta l'estrazione dei contenitori multimediali MP4.
  • È stata ampliata la supporto per i sottotitoli nascosti (CC - Closed Captions) e per l'elaborazione del testo.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster