importante rilascio del progetto , sviluppando un server multimediale di nuova generazione che sostituisce PulseAudio. PipeWire amplia le capacità di PulseAudio con strumenti per gestire flussi video, la possibilità di elaborare audio con ritardi minimi e un nuovo modello di sicurezza per la gestione dell'accesso a livello di singoli dispositivi e flussi. Il progetto è supportato in GNOME ed è già ampiamente utilizzato in Fedora Linux per la registrazione dei contenuti dello schermo (screencasting) e la condivisione dello schermo in ambienti basati su Wayland. Il codice del progetto è scritto in linguaggio C e è sotto licenza LGPLv2.1.
Principali in PipeWire 0.3:
- Il pianificatore di elaborazione dei flussi è stato completamente rielaborato. Le modifiche hanno reso possibile l'avvio di un layer per garantire la compatibilità con il server audio JACK, le cui prestazioni sono comparabili a quelle di JACK2.
- Rielaborato e dichiarato stabile . Tutte le future modifiche all'API sono previste senza compromettere la compatibilità retroattiva con le applicazioni esistenti.
- Include un gestore di sessioni che consente di gestire il grafo dei nodi multimediali in PipeWire, oltre ad aggiungere nuovi flussi. Attualmente, il gestore offre solo un set di funzioni base ma sarà ampliato o sostituito in futuro con un'opzione più funzionale e flessibile, come .
- Sono stati migliorati i componenti della libreria per garantire compatibilità con PulseAudio, JACK e ALSA, consentendo l'uso di PipeWire con applicazioni esistenti destinate a lavorare con altri sistemi audio. La libreria per ALSA è quasi pronta, ma quelle per JACK e PulseAudio necessitano ancora di sviluppo. PipeWire non è ancora pronto per sostituire completamente PulseAudio e JACK, ma nelle prossime versioni sarà posta particolare attenzione alla compatibilità.
- Sono stati inclusi alcuni plugin GStreamer per l'interazione con PipeWire. Il plugin pipewiresrc, che utilizza PipeWire come sorgente audio, funziona senza problemi nella maggior parte delle situazioni. Il plugin pipewiresink per l'uscita audio tramite PipeWire ha ancora alcuni problemi noti.
- Supporto PipeWire 0.3 nel window manager Mutter, sviluppato dal progetto GNOME.
Ricordiamo che PipeWire amplia l'ambito di utilizzo di PulseAudio gestendo qualsiasi flusso multimediale e può mixare e reindirizzare flussi video. PipeWire fornisce anche funzionalità per gestire le sorgenti video, come i dispositivi di acquisizione video, webcam o il contenuto dello schermo prodotto dalle applicazioni. Ad esempio, PipeWire consente di organizzare la collaborazione tra più applicazioni con una webcam e risolve i problemi di acquisizione sicura del contenuto dello schermo e di accesso remoto allo schermo nell'ambiente Wayland.
PipeWire può anche fungere da server audio, garantendo ritardi minimi e fornendo funzionalità che combinano le capacità. e , inclusa la considerazione delle esigenze dei sistemi professionali di elaborazione audio, a cui PulseAudio non poteva aspirare. 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 lavorare nel stack grafico basato su Wayland.
:
- Cattura e riproduzione di audio e video con latenze minime;
- Strumenti per l'elaborazione audio e video in tempo reale;
- Architettura multipla che consente l'accesso condiviso ai contenuti da parte di più applicazioni;
- Modello di elaborazione basato su grafi di nodi multimediali con supporto per cicli di feedback e aggiornamenti atomici del grafo. È consentito il collegamento di elaboratori sia all'interno del server che di plugin esterni;
- Interfaccia efficace per accedere ai flussi video tramite il passaggio di file descriptor e l'accesso all'audio attraverso buffer circolari condivisi;
- Capacità di elaborare dati multimediali da qualsiasi processo;
- Disponibilità di un plugin per GStreamer per semplificare l'integrazione con le applicazioni esistenti;
- Supporto per ambienti isolati e Flatpak;
- Supporto per plugin in formato (Simple Plugin API) e possibilità di creare plugin che operano in modalità a tempo reale rigoroso;
- Sistema flessibile di gestione dei formati multimediali utilizzati e allocazione dei buffer;
- Uso di un unico processo in background per il routing di audio e video. Possibilità di funzionare come server audio, hub per la fornitura di video ad applicazioni (ad esempio, per l'API screencast di gnome-shell) e server per la gestione dell'accesso ai dispositivi hardware di acquisizione video.
Fonte: opennet.ru
