Wersja 0.3.35 serwera multimediów PipeWire

Opublikowano wersję projektu PipeWire 0.3.35 rozwijającego serwer multimedialny nowej generacji, który ma zastąpić PulseAudio. PipeWire oferuje ulepszone możliwości przesyłania strumieniowego wideo przez PulseAudio, przetwarzanie dźwięku o niskim opóźnieniu i nowy model bezpieczeństwa dla kontroli dostępu na poziomie urządzenia i strumienia. Projekt jest obsługiwany w środowisku GNOME i jest już domyślnie używany w Fedorze Linux. Kod projektu napisany jest w języku C i rozpowszechniany jest na licencji LGPLv2.1.

Główne zmiany w PipeWire 0.3.35:

  • Dodano obsługę przesyłania protokołu S/PDIF w celu przesyłania cyfrowego dźwięku przez złącza optyczne i HDMI.
  • Kodeki dla Bluetooth są zawarte w oddzielnych wtyczkach, które są ładowane dynamicznie.
  • Wprowadzono szereg ważnych poprawek związanych z obsługą MIDI.
  • Poprawiono działanie aplikacji skypeforlinux poprzez dodanie powiązania wymuszającego użycie formatu S16 podczas przesyłania informacji o urządzeniach wejściowych i wyjściowych audio. Zmiana rozwiązała problem, który doprowadził do braku dźwięku u abonenta po drugiej stronie połączenia.
  • Rozszerzono liczbę formatów audio dostępnych do miksowania.
  • Dodano nowy interfejs ładowania modułów. Wtyczki mogą używać tego interfejsu do wysyłania prośby o pobranie wtyczek spa.
  • Zwiększono rozmiar bufora parametrów, który wcześniej nie był w stanie pomieścić wszystkich właściwości węzłów z dużą liczbą kanałów.
  • Włączono aktywację sterowników podczas ustanawiania połączeń zwrotnych.
  • Serwer implementuje rozszerzenie przywracania urządzenia, które umożliwia konfigurację kodeków IEC958 (S/PDIF) obsługiwanych przez urządzenie wyjściowe audio za pomocą narzędzia pavucontrol.

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ę serwera audio o niskim opóźnieniu i zapewniać funkcjonalność łączącą w sobie moc PulseAudio i JACK, w tym uwzględniającą potrzeby profesjonalnych systemów przetwarzania dźwięku, czego PulseAudio nie mógł sobie zapewnić. Ponadto PipeWire oferuje zaawansowany model bezpieczeństwa, który umożliwia zarządzanie dostępem dla poszczególnych urządzeń i strumieni, ułatwiając kierowanie sygnału audio i wideo z i do izolowanych kontenerów. Jednym z głównych celów jest obsługa samodzielnych aplikacji w formacie Flatpak i praca w 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

Dodaj komentarz