Nel repository in cui si sta sviluppando la versione di Ubuntu 22.10, è avvenuto il passaggio all'utilizzo predefinito del server multimediale PipeWire per l'elaborazione audio. I pacchetti legati a PulseAudio sono stati rimossi dai set desktop e desktop-minimal, e per garantire la compatibilità, invece delle librerie per interagire con PulseAudio, è stato aggiunto un strato funzionante sopra PipeWire chiamato pipewire-pulse, che consente di mantenere l'operatività di tutti i client esistenti di PulseAudio.
La decisione di passare completamente a PipeWire in Ubuntu 22.10 è stata confermata da Heather Ellsworth di Canonical. Si segnala che in Ubuntu 22.02 nel sistema coesistevano entrambi server — PipeWire è stato utilizzato per l'elaborazione video durante la registrazione di screencast e per fornire accesso allo schermo, ma l'audio continuava a essere elaborato con PulseAudio. In Ubuntu 22.10 rimarrà solo PipeWire. Due anni fa, un cambiamento simile è stato già implementato nel sistema Fedora 34, il che ha permesso di fornire funzionalità professionali di elaborazione audio, eliminando la frammentazione e unificando l'infrastruttura audio per diverse applicazioni.
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. PipeWire può gestire qualsiasi flusso multimediale ed è in grado di mescolare e reindirizzare non solo flussi audio, ma anche flussi video, oltre a gestire le sorgenti video (dispositivi di acquisizione video, webcam o contenuti dello schermo restituiti dalle applicazioni). PipeWire può anche agire come server audio, garantendo latenze minime e fornendo funzionalità che combinano le capacità di PulseAudio e JACK, tenendo conto delle esigenze dei sistemi di elaborazione audio professionale, a cui PulseAudio non poteva aspirare.
Caratteristiche principali:
- 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 nel formato SPA (Simple Plugin API) e possibilità di creare plugin che funzionano in modalità tempo reale rigorosa;
- 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
