Pubblicato il server multimediale PipeWire 1.6.0

Dopo quasi un anno di sviluppo, è stata formata una nuova versione stabile del server multimediale PipeWire 1.6.0, che sostituisce il server audio PulseAudio e si distingue per l'aggiunta di strumenti per gestire flussi video, la possibilità di elaborare audio con latenze minime e un nuovo modello di sicurezza per gestire l'accesso a livello di singoli dispositivi e flussi. Il progetto è utilizzato per impostazione predefinita in Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE e in molte altre distribuzioni Linux. Il codice è scritto in linguaggio C e distribuito sotto licenza MIT.

PipeWire si basa su un'architettura multi-processo che consente l'accesso condiviso ai contenuti di più applicazioni. Offre funzionalità per l'elaborazione di qualsiasi flusso multimediale, miscelazione e reindirizzamento di flussi video, oltre a gestire fonti video come dispositivi di acquisizione video, webcam o contenuti dello schermo generati dalle applicazioni. PipeWire permette inoltre la collaborazione di più applicazioni con la webcam e risolve i problemi di acquisizione sicura dei contenuti dello schermo e accesso remoto allo schermo in un ambiente Wayland.

Quando utilizzato come audio server, PipeWire può garantire latenze minime e fornire funzionalità che combinano le capacità di PulseAudio e JACK, tenendo conto delle esigenze dei sistemi di elaborazione audio professionale, che PulseAudio non è in grado di soddisfare. PipeWire offre un modello di sicurezza avanzato che consente di gestire l'accesso a livello di singoli dispositivi e flussi specifici. Il modello di accesso implementato semplifica il passaggio di audio e video da e verso contenitori isolati.

Nella nuova versione:

  • È stato aggiunto un decoder per il codec audio LDAC, utilizzato per la trasmissione di audio di alta qualità tramite Bluetooth. Per la decodifica è stata impiegata la libreria libldac.
  • È stata aggiunta l'opzione «bluez5-plc-spandsp» per compensare la perdita di pacchetti durante la trasmissione audio su Bluetooth, utilizzando le capacità della libreria SpanDSP.
  • È stata implementata una versione sicura delle funzioni di analisi e creazione di oggetti serializzati nel formato POD (Plain Old Data) nella memoria condivisa.
  • È stata realizzata la possibilità di trasmettere tramite metadati informazioni sul supporto da parte dei nodi PipeWire di funzionalità aggiuntive, che possono essere utilizzate per sincronizzare l'uso di funzionalità avanzate, come il supporto per l'operazione RELEASE.
  • È stata aggiunta la possibilità di allegare dati utente aggiuntivi ai comandi e agli eventi trasmessi tra i nodi.
  • Sono state implementate funzioni ausiliarie aggiuntive per la creazione e l'analisi dei formati di compressione.
  • Il limite predefinito sul numero massimo di canali è stato aumentato a 128. È stata aggiunta la possibilità di sovrascrivere tale limite durante la fase di compilazione.
  • È stata aggiunta l'impostazione «audio.layout» per la configurazione del suono surround multicanale (ad esempio, «audio.layout = 5.1») senza dover elencare la posizione dei canali («audio.position = [ FL, FR, FC, LFE, SL, SR ]»).
  • È stato aggiunto il meccanismo «Capability Params» per l'allineamento delle capacità del link nella fase precedente alla determinazione del formato e dei buffer.
  • È stata aggiunta la supporto per nuovi tipi di rappresentazione dei colori (colortype) per HDR.
  • Nei cicli di gestione degli eventi è stata implementata la supporto per blocchi con inversione delle priorità, evitando situazioni in cui un thread ad alta priorità deve attendere il rilascio di un blocco detenuto da un thread a bassa priorità. Per la sincronizzazione dello stato tra i thread sono stati utilizzati blocchi leggeri anziché epoll e eventfd.
  • È stata aggiunta la supporto per la determinazione della posizione del canale tramite l'analisi dei dati EDID.
  • È stata garantita la trasmissione alla sottosistema ALSA della mappa dei canali del suono surround (quale canale è a destra, quale a sinistra, ecc.).
  • Sono stati apportati numerosi miglioramenti relativi a Bluetooth, RTP (Real-time Transport Protocol) e AVB (Audio Video Bridging).
  • È proseguito il lavoro sull'implementazione del protocollo di rete Milan per la trasmissione di dati multimediali in tempo reale.
  • Nel sistema di modifica della frequenza di campionamento (resampler) è stata aggiunta la supporto per funzioni personalizzabili di soppressione delle distorsioni, come Blackman e Kaiser. Per migliorare la precisione del calcolo delle fasi, sono stati utilizzati calcoli a punto fisso.
  • È stata fornita la possibilità di applicare nella grafica dei nodi dei filtri audio di FFmpeg e modelli AI per l'elaborazione audio basati su ONNX, come il rilevatore di voce Silero.
  • È stata interrotta la supporto per i client che utilizzano il protocollo v0, impiegato nelle versioni precedenti di PipeWire.
  • Nel modulo jack-tunnel è stata aggiunta la supporto per la connessione automatica delle porte.
  • Per il sistema di streaming ROC è stata implementata la supporto per layout multitraccia.
  • È stata fornita la possibilità di modificare i limiti sulle risorse (rlimit) tramite il file di configurazione.
  • È stata aggiunta la proprietà «thread.reset-on-fork» per gestire il ripristino dei thread durante la chiamata fork. Per i client JACK, per replicare il comportamento di JACK, è possibile disattivare il ripristino dei thread impostando «thread.reset-on-fork=false».
  • È stato aggiunto il flag node.exclusive, che garantisce che una porta abbia solo una sorgente e un consumatore, necessario per implementare il meccanismo di Explicit Sync.
  • È stato aggiunto il flag node.reliable per la modalità di consegna garantita.
  • L'utilità pw-cat ha aggiunto il supporto per i messaggi MIDI SysEx (System Exclusive, per la configurazione dei sintetizzatori), il contenitore midiclip e i formati audio non compressi. Sono state aggiunte opzioni per impostare i formati dei contenitori audio e dei codec, oltre a visualizzare un elenco dei contenitori supportati, dei codec, dei layout di audio surround e dei nomi dei canali.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster