Опубликован выпуск проекта PipeWire 0.3.33, развивающего мультимедийный сервер нового поколения, идущий на замену PulseAudio. PipeWire расширяет возможности PulseAudio средствами для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и уже по умолчанию применяется в Fedora Linux. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1.
Główne zmiany w PipeWire 0.3.33:
- Wprowadzono możliwość automatycznego przełączania pomiędzy profilami Bluetooth HSP (tryb zestawu słuchawkowego) i A2DP (wysokiej jakości wyjście audio).
- Profil Pro Audio ma lepszą obsługę wirtualnych źródeł dźwięku i urządzeń wyjściowych.
- Ulepszona negocjacja modyfikatora formatu podczas współdzielenia buforów bezpośredniego dostępu do pamięci (DMA-BUF) między wieloma klientami.
- Na grafie węzłów multimedialnych zaimplementowano obsługę jednoczesnego wykorzystania wielu częstotliwości próbkowania (domyślnie wyłączona).
- Warstwa kompatybilności PulseAudio implementuje moduł włączania modułu, który emuluje zachowanie PulseAudio po podłączeniu nowych urządzeń.
Przypomnijmy, że PipeWire rozszerza zakres PulseAudio o przetwarzanie dowolnych strumieni multimedialnych oraz umożliwia miksowanie i przekierowywanie strumieni wideo. PipeWire zapewnia także opcje zarządzania źródłami wideo, takimi jak urządzenia do przechwytywania wideo, kamery internetowe lub zawartość ekranu wyświetlaną przez aplikacje. Na przykład PipeWire umożliwia współpracę wielu aplikacji z kamerą internetową i rozwiązuje problemy z bezpiecznym przechwytywaniem ekranu i zdalnym udostępnianiem ekranu w środowisku Wayland.
PipeWire może również pełnić funkcję tłumika dźwięku serwer, który zapewnia minimalne opóźnienie i funkcjonalność łączącą możliwości PulseAudio i JACK, w tym zaspokajanie potrzeb profesjonalnych systemów przetwarzania dźwięku, czego PulseAudio nie było w stanie osiągnąć. Ponadto PipeWire oferuje zaawansowany model bezpieczeństwa, który umożliwia kontrolę dostępu na poziomie urządzenia i strumienia, upraszczając routing dźwięku i obrazu do i z izolowanych kontenerów. Jednym z głównych celów jest obsługa samodzielnych aplikacji w formacie Flatpak i uruchamianie ich na stosie graficznym opartym na Wayland.
Najważniejsze cechy:
- Przechwytuj i odtwarzaj dźwięk i wideo z minimalnymi opóźnieniami;
- Narzędzia do przetwarzania obrazu i dźwięku w czasie rzeczywistym;
- Architektura wieloprocesowa umożliwiająca współdzielenie zawartości kilku aplikacji;
- Model przetwarzania oparty na grafie węzłów multimedialnych z obsługą pętli sprzężenia zwrotnego i atomową aktualizacją wykresu. Dopuszczalne jest podłączanie handlerów zarówno wewnątrz serwera jak i zewnętrznych wtyczek;
- Wydajny interfejs dostępu do strumieni wideo poprzez przesyłanie deskryptorów plików i dostępu do dźwięku poprzez współdzielone bufory pierścieniowe;
- Możliwość przetwarzania danych multimedialnych z dowolnych procesów;
- Obecność wtyczki do GStreamera upraszczającej integrację z istniejącymi aplikacjami;
- Wsparcie dla izolowanych środowisk i Flatpak;
- Obsługa wtyczek w formacie SPA (Simple Plugin API) oraz możliwość tworzenia wtyczek pracujących w trudnym czasie rzeczywistym;
- Elastyczny system negocjacji używanych formatów multimedialnych i przydziału buforów;
- Używanie pojedynczego procesu w tle do kierowania dźwięku i obrazu. Możliwość pracy jako serwer dźwięku, koncentrator dostarczający wideo do aplikacji (na przykład dla API screencastu powłoki gnome) oraz serwer do kontrolowania dostępu do urządzeń przechwytujących wideo.
Źródło: opennet.ru
