Nel repository dedicato allo sviluppo della versione di Ubuntu 22.10, è stata implementata di default l'adozione del server multimediale PipeWire per la gestione dell'audio. I pacchetti associati a PulseAudio sono stati rimossi dai set desktop e desktop-minimal, e per garantire la compatibilità è stata aggiunta un'interfaccia pipewire-pulse che opera sopra PipeWire, consentendo il funzionamento 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 erano utilizzati entrambi. server — PipeWire era utilizzato per l'elaborazione video durante la registrazione degli screencast e per l'accesso allo schermo, ma l'audio continuava a essere gestito con PulseAudio. In Ubuntu 22.10 verrà mantenuto solo PipeWire. Due anni fa, un cambiamento simile è stato già implementato nella distribuzione Fedora 34, consentendo di offrire capacità di elaborazione audio professionale, eliminando la frammentazione e unificando l'infrastruttura audio per vari usi.
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 miscelare e reindirizzare non solo flussi audio, ma anche flussi video e gestire fonti video (dispositivi di acquisizione video, webcam o contenuti dello schermo generati da applicazioni). PipeWire può anche fungere da server audio, garantendo latenze minime e offrendo funzionalità che combinano le capacità di PulseAudio e JACK, tenendo conto anche delle esigenze dei sistemi di elaborazione audio professionale, cui PulseAudio non poteva ambire.
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
