Wydanie serwera multimedialnego PipeWire 1.0.0

Opublikowano wydanie serwera multimedialnego PipeWire 1.0.0, które zostało oznaczone jako pierwsze stabilne wydanie, oznaczające dojrzałość projektu. Na poziomie API i ABI wersja 1.0 jest wstecznie kompatybilna z gałęzią 0.3. PipeWire jest pozycjonowany jako serwer przeznaczony do zastąpienia serwera dźwięku PulseAudio i różni się od niego dodaniem narzędzi do obsługi strumieni wideo, możliwością przetwarzania dźwięku z minimalnymi opóźnieniami oraz nowym modelem bezpieczeństwa do zarządzania dostępem na poziomie poszczególnych urządzeń i strumieni. Projekt jest wspierany w GNOME i już domyślnie stosowany w Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE i wielu innych dystrybucjach Linux. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji LGPLv2.1.

PipeWire zapewnia możliwości przetwarzania wszelkich strumieni multimedialnych, jest w stanie miksować i przekierowywać strumienie wideo, może być używany do zarządzania źródłami wideo, takimi jak urządzenia do przechwytywania wideo, kamery internetowe lub aplikacje wyświetlające zawartość ekranu. Na przykład, PipeWire umożliwia współpracę wielu aplikacji z kamerą internetową i rozwiązuje problemy związane z bezpiecznym przechwytywaniem zawartości ekranu oraz zdalnym dostępem do ekranu w środowisku Wayland.

PipeWire może również pełnić rolę serwera dźwięku serwera, zapewniającego minimalne opóźnienia i oferującego funkcjonalność łączącą możliwości PulseAudio i JACK, uwzględniając potrzeby systemów profesjonalnego przetwarzania dźwięku, których PulseAudio nie mogło zaspokajać. Ponadto, PipeWire oferuje rozszerzony model zabezpieczeń, umożliwiający zarządzanie dostępem na poziomie poszczególnych urządzeń i konkretnych strumieni, upraszczający organizację przesyłu dźwięku i wideo z izolowanych kontenerów i do nich. Jednym z głównych celów jest wsparcie dla samowystarczalnych aplikacji w formacie Flatpak oraz praca w graficznym stosie opartym na Wayland.

Podstawowe funkcje:

  • Przechwytywanie i odtwarzanie dźwięku i wideo z minimalnymi opóźnieniami;
  • Narzędzia do przetwarzania dźwięku i wideo w czasie rzeczywistym;
  • Architektura wieloprocesowa, umożliwiająca współdzielenie treści między różnymi aplikacjami;
  • Model przetwarzania na podstawie grafu węzłów multimedialnych z obsługą cykli sprzężenia zwrotnego i atomowych aktualizacji grafu. Dozwolone jest podłączanie przetwarzaczy zarówno wewnątrz serwera, jak i zewnętrznych wtyczek;
  • Efektywny interfejs dostępu do strumieni wideo poprzez przesyłanie deskryptorów plików oraz dostęp do dźwięku przez współdzielone bufory cykliczne (shared ringbuffer);
  • Możliwość przetwarzania danych multimedialnych z dowolnych procesów;
  • Obecność wtyczki do GStreamer w celu uproszczenia integracji z istniejącymi aplikacjami;
  • Wsparcie dla izolowanych środowisk oraz Flatpak;
  • Wsparcie dla wtyczek w formacie SPA (Simple Plugin API) i możliwość tworzenia wtyczek działających w trybie sztywnego czasu rzeczywistego;
  • Elastyczny system zgłaszania używanych formatów multimedialnych i przydzielania buforów;
  • Użycie jednego procesu roboczego do routingu dźwięku i wideo. Możliwość pracy w formie serwera dźwiękowego, hubu do dostarczania wideo aplikacjom (na przykład dla API gnome-shell screencast) oraz serwera do zarządzania dostępem do urządzeń sprzętowych przechwytujących wideo.

W porównaniu do gałęzi 0.3 wprowadzono domyślną obsługę jackdbus, co umożliwia użycie PipeWire jako pełnoprawnego klienta systemu dźwiękowego JACK. Dla ALSA zastosowano planowanie oparte na IRQ w profilu Pro-Audio, co pozwala osiągnąć opóźnienia na poziomie JACK. Dodano obsługę zarówno starej, jak i nowej wersji webrtc-audio-processing. W pw-cat dodano wsparcie dla plików DFF DSD. Dodano wsparcie dla platformy GNU/Hurd.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster