ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° PipeWire 0.3.33, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ, ΠΈΠ΄ΡΡΠΈΠΉ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ PulseAudio. PipeWire ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ PulseAudio ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ ΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² GNOME ΠΈ ΡΠΆΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Fedora Linux. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2.1.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² PipeWire 0.3.33:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Bluetooth-ΠΏΡΠΎΡΠΈΠ»ΡΠΌΠΈ HSP (ΡΠ΅ΠΆΠΈΠΌ Π³Π°ΡΠ½ΠΈΡΡΡΡ) ΠΈ A2DP (Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π·Π²ΡΠΊΠ°).
- Π ΠΏΡΠΎΡΠΈΠ»Π΅ Pro Audio ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Π²ΡΠ²ΠΎΠ΄Π° Π·Π²ΡΠΊΠ°.
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΡΡΠ΅ΡΠΎΠ² ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΌΡΡΠΈ (DMA-BUF) Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ.
- Π Π³ΡΠ°ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΡΠ·Π»ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΡΡΠΎΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ).
- Π ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ΅ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ PulseAudio ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡΠ»Ρ module-switch-on-connect Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ PulseAudio ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
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
