È stata pubblicata la versione 0.3.35 del progetto PipeWire, che sviluppa un server multimediale di nuova generazione, destinato a sostituire PulseAudio. PipeWire offre funzionalità avanzate rispetto a PulseAudio per la gestione dei flussi video, la possibilità di elaborare audio con latenze minime e un nuovo modello di sicurezza per la gestione degli accessi a livello di singoli dispositivi e flussi. Il progetto è supportato in GNOME ed è già attivamente utilizzato in Fedora Linux. Il codice del progetto è scritto in C e distribuito sotto la licenza LGPLv2.1.
Principali novità in PipeWire 0.3.35:
- Aggiunta il supporto per il pass-through del protocollo S/P-DIF per la trasmissione audio digitale tramite connettori ottici e HDMI.
- I codec per Bluetooth sono stati spostati in plugin separati, caricati dinamicamente.
- Introdotta una serie di importanti correzioni relative al supporto MIDI.
- Migliorata l'interazione con l'applicazione skypeforlinux, grazie all'aggiunta di un binding che forza l'uso del formato S16 durante la trasmissione delle informazioni sui dispositivi di input e output audio. Questa modifica ha risolto un problema che portava all'assenza di audio da parte di un interlocutore dall'altra parte della connessione.
- È stato ampliato il numero dei formati audio disponibili per il missaggio.
- Introdotto un nuovo interfaccia per il caricamento dei moduli. I plugin possono utilizzare questa interfaccia per inviare richieste di caricamento dei plugin spa.
- Aumentata la dimensione del buffer dei parametri, che in precedenza non poteva contenere tutte le proprietà dei nodi con un numero elevato di canali.
- Risolto l'attivazione dei driver durante l'installazione delle connessioni di loopback.
- In server Implementata l'estensione device-restore, che permette di configurare i codec IEC958 (S/PIDF), supportati dal dispositivo audio, tramite l'utility pavucontrol.
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
