È disponibile il server multimediale PipeWire 0.3, che sostituisce PulseAudio

pubblicato rilascio significativo del progetto PipeWire 0.3.0, sviluppando un server multimediale di nuova generazione per sostituire PulseAudio. PipeWire estende le capacità di PulseAudio con l'elaborazione del flusso video, l'elaborazione audio a bassa latenza e un nuovo modello di sicurezza per il controllo degli accessi a livello di dispositivo e flusso. Il progetto è supportato in GNOME ed è già utilizzato attivamente in Fedora Linux per la registrazione e la condivisione dello schermo in ambienti basati su Wayland. Il codice del progetto è scritto in C e distribuito da concesso in licenza sotto LGPLv2.1.

Il principale modifiche in PipeWire 0.3:

  • Lo scheduler dell'elaborazione dei thread è stato completamente riprogettato. Le modifiche hanno permesso di eseguire un livello per garantire la compatibilità con il server audio JACK, le cui prestazioni sono paragonabili a JACK2.
  • Rielaborato e dichiarato stabile API. Si prevede che tutte le ulteriori modifiche all'API verranno apportate senza interrompere la compatibilità con le applicazioni esistenti.
  • Include un gestore di sessioni che ti consente di gestire il grafico dei nodi multimediali in PipeWire, nonché di aggiungere nuovi flussi. Per ora il gestore fornisce solo un semplice insieme di funzioni di base e in futuro verrà ampliato o sostituito con un'opzione più funzionale e flessibile, come WireIdraulico.
  • Le librerie incluse sono state migliorate per fornire compatibilità con PulseAudio, JACK e ALSA, consentendo l'utilizzo di PipeWire con applicazioni esistenti progettate per funzionare con altri sistemi audio. La libreria per ALSA è quasi pronta, ma le librerie per JACK e PulseAudio necessitano ancora di lavoro. PipeWire non è ancora pronto per sostituire completamente PulseAudio e JACK, ma i problemi di compatibilità saranno una priorità nelle versioni future.
  • Sono inclusi alcuni plugin GStreamer per interagire 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 non presenta ancora alcuni problemi noti.
  • Supporto PipeWire 0.3 integrato nel window manager Mutter sviluppato dal progetto GNOME.

Ricordiamo che PipeWire espande la portata di PulseAudio elaborando qualsiasi flusso multimediale ed è in grado di mescolare e reindirizzare i flussi video. PipeWire fornisce inoltre funzionalità per controllare le sorgenti video, come dispositivi di acquisizione video, webcam o contenuto dello schermo dell'applicazione. Ad esempio, PipeWire consente a più applicazioni webcam di lavorare insieme e risolve i problemi con l'acquisizione sicura dello schermo e l'accesso remoto allo schermo nell'ambiente Wayland.

PipeWire può anche fungere da server audio, fornendo una latenza minima e combinando funzionalità PulseAudio и JACK, tenendo conto anche delle esigenze dei sistemi di elaborazione audio professionali, cosa che PulseAudio non poteva rivendicare. Inoltre, PipeWire offre un modello di sicurezza avanzato che consente il controllo degli accessi a livello di dispositivo e flusso e semplifica l'instradamento di audio e video da e verso contenitori isolati. Uno degli obiettivi principali è supportare le applicazioni Flatpak autonome e funzionare su uno stack grafico basato su Wayland.

Il principale capacità:

  • Cattura e riproduci audio e video con ritardi minimi;
  • Strumenti per l'elaborazione video e audio in tempo reale;
  • Architettura multiprocesso che consente di organizzare l'accesso condiviso al contenuto di più applicazioni;
  • Un modello di elaborazione basato su un grafico di nodi multimediali con supporto per cicli di feedback e aggiornamenti di grafici atomici. È possibile connettere gestori sia interni al server che plugin esterni;
  • Un'interfaccia efficiente per accedere ai flussi video attraverso il trasferimento di descrittori di file e accedere all'audio tramite buffer ad anello 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 la possibilità di creare plugin che funzionano in tempo reale;
  • Sistema flessibile per coordinare i formati multimediali utilizzati e allocare i buffer;
  • Utilizzando un unico processo in background per instradare audio e video. La capacità di lavorare sotto forma di un server audio, un hub per fornire video alle applicazioni (ad esempio, per l'API screencast gnome-shell) e un server per gestire l'accesso ai dispositivi hardware di acquisizione video.

Fonte: opennet.ru

Aggiungi un commento