PipeWire to darmowa aplikacja typu open source stworzona przez Wim Taymansktóry pracuje jako główny inżynier w firmie Red Hat i jest współtwórcą platformy multimedialnej GStreamer.
Został zbudowany od podstaw ze szczególnym uwzględnieniem obsługi Wayland i Flatpakw celu unowocześnienia przetwarzania audio i wideo. Obejmuje to obsługę jednoklatkowych zrzutów ekranu, przechwytywanie ekranu, nagrywanie lokalnego pulpitu na wideo, a może nawet natywne przesyłanie komputerów stacjonarnych Wayland na telewizory i monitory!
Zgodnie ze stroną internetową projektu, jego celem jest
znacznie poprawia obsługę audio i wideo pod Linuksem. Ma na celu wsparcie przypadków użycia obsługiwanych obecnie przez PulseAudio i Jack, a jednocześnie zapewnienie tego samego poziomu wydajnej obsługi wejścia i wyjścia wideo.
Wprowadza również model bezpieczeństwa, który ułatwia interakcję z urządzeniami audio i wideo z aplikacji kontenerowych, a głównym celem jest obsługa aplikacji Flatpak. Oczekujemy, że PipeWire, obok Waylanda i Flatpaka, będzie stanowić główny element składowy przyszłego rozwoju aplikacji dla systemu Linux.
Funkcje PipeWire
W tym poście na blogu Christian wyjaśnia, że PipeWire wprowadza model bezpieczeństwa, który ułatwia interakcje między urządzeniami audio i wideo z aplikacji działających w trybie piaskownicy; a biorąc pod uwagę sposób, w jaki Flatpak i inne modele kontenerów przejmują rynek, wydaje się, że sytuacja jest korzystna dla obu stron.
Instalacja i dokumentacja
W chwili pisania tego tekstu PipeWire nie jest łatwo dostępny do instalacji w większości dystrybucji, ale można to obejść, pobierając jego kod źródłowy z GitHub i skompilować ze źródła lub zainstalować jeden z pakietów stworzonych dla Fedory 27 i Fedory Rawhide.
Aby sklonować repozytorium z GitHub, użyj poniższego kodu:
$ git clone https://github.com/PipeWire/pipewire.git
Następnie, korzystając z systemu kompilacji Meson, wprowadź następujące polecenia:
$ ./autogen.sh --prefix=$PREFIX $ zrobić $ zrób instalację
$PREFIX
jest zwykle ustawiony na /usr
lub /usr/local.
Teraz uruchom testowo serwer PipeWire z katalogu źródłowego za pomocą polecenia:
$ uruchom
Jeśli chcesz przetestować przechwytywanie i wyświetlanie wideo za pomocą SDL z katalogu źródłowego, użyj:
$ SPA_PLUGIN_DIR=build/spa/plugins PIPEWIRE_MODULE_DIR=build build/src/examples/export-sink
Możesz też pobawić się innymi przykładami.
Pamiętaj, że jeśli nie ustawisz prawidłowych zmiennych środowiskowych, jak pokazano powyżej, wtyczki i moduły nie zostaną znalezione.
Sprawdź zbiór przydatnych stron na PipeWire na jego stronie wiki i dokumentacji API tutaj.
Oczywiście uruchomienie PipeWire w systemie wymaga sporo wysiłku, ale wcześniej czy później instalacja nie będzie już problemem .
Jeśli możesz kontynuować instalację, nie zapomnij podzielić się z nami swoimi wrażeniami z użytkowania w sekcji komentarzy poniżej.