È stato rilasciato il progetto PipeWire 0.3.33, che sviluppa un server multimediale di nuova generazione, destinato a sostituire PulseAudio. PipeWire amplia le funzionalità di PulseAudio con strumenti per la gestione dei flussi video, la capacità di elaborare audio con ritardi minimi e un nuovo modello di sicurezza per gestire l'accesso a livello di singoli dispositivi e flussi. Il progetto è supportato da GNOME e già utilizzato di default in Fedora Linux. Il codice del progetto è scritto in C e distribuito con licenza LGPLv2.1.
Principali cambiamenti in PipeWire 0.3.33:
- È stata implementata la possibilità di commutazione automatica tra i profili Bluetooth HSP (modalità cuffie) e A2DP (uscita audio di alta qualità).
- Nel profilo Pro Audio è stata migliorata la supporto per fonti virtuali e dispositivi di uscita audio.
- È stata migliorata la gestione dei modificatori di formato durante l'uso condiviso dei buffer di accesso diretto alla memoria (DMA-BUF) da parte di più client.
- Nella sezione dei nodi multimediali è stata implementata la supporto per l'uso simultaneo di diversi tassi di campionamento (disabilitato di default).
- Nel layer di compatibilità con PulseAudio è stato implementato il modulo module-switch-on-connect per emulare il comportamento di PulseAudio quando si collegano nuovi dispositivi.
Ricordiamo che PipeWire amplia l'ambito di PulseAudio trattando qualsiasi flusso multimediale e può mescolare e reindirizzare i flussi video. PipeWire offre anche funzionalità per la gestione delle sorgenti video, come dispositivi di acquisizione video, webcam o contenuti visualizzati dalle applicazioni. Ad esempio, PipeWire consente la collaborazione tra più applicazioni con una webcam e risolve problemi di acquisizione sicura del contenuto dello schermo e accesso remoto allo schermo nell'ambiente Wayland.
PipeWire può anche fungere da server audio. server, che garantisce latenze minime e fornisce funzionalità che combinano le capacità di PulseAudio e JACK, tenendo conto delle esigenze dei sistemi di elaborazione audio professionale, che PulseAudio non poteva soddisfare. Inoltre, PipeWire offre un modello di sicurezza avanzato, che consente di gestire l'accesso a livello di singoli dispositivi e flussi specifici, semplificando l'organizzazione del passaggio di audio e video da e verso contenitori isolati. Uno degli obiettivi principali è supportare applicazioni autonome nel formato Flatpak e funzionare nel stack grafico basato su Wayland.
Funzionalità principali:
- Cattura e riproduzione di audio e video con latenze minime;
- Strumenti per l'elaborazione di video e audio in tempo reale;
- Architettura multithreading che consente l'accesso condiviso ai contenuti di più applicazioni;
- Modello di elaborazione basato su grafo di nodi multimediali con supporto per feedback loop e aggiornamenti atomici del grafo. È consentita la connessione di elaboratori sia all'interno del server che di plugin esterni;
- Interfaccia efficace per l'accesso ai flussi video tramite file descriptor e accesso audio tramite buffer circolari condivisi;
- Capacità di elaborare dati multimediali provenienti da qualsiasi processo;
- Presenza di un plugin per GStreamer per semplificare l'integrazione con applicazioni esistenti;
- Supporto per ambienti isolati e Flatpak;
- Supporto per plugin in formato SPA (Simple Plugin API) e possibilità di creare plugin funzionanti in tempo reale;
- Sistema flessibile per la negoziazione dei formati multimediali utilizzati e per l'allocazione dei buffer;
- Uso di un processo in background per il routing di audio e video. Possibilità di operare come server audio, hub per fornire video alle applicazioni (ad esempio, per l'API screencast di gnome-shell) e server per la gestione dell'accesso ai dispositivi hardware di cattura video.
Fonte: opennet.ru
