PipeWire is een gratis en open source applicatie gemaakt door Wim Taymansdie werkt als Principal Engineer bij Red Hat en de co-creator is van het GStreamer multimedia framework.
Het is helemaal opnieuw opgebouwd met een bijzondere focus op het ondersteunen van Wayland en Flatpakin een poging om audio- en videoverwerking te moderniseren. Dit omvat ondersteuning voor screenshots met één frame, schermopname, lokale desktopopname naar video en misschien zelfs native casten van Wayland-desktops naar tv's en monitoren!
Volgens de website van het project is het doel om
verbetering van de verwerking van audio en video onder Linux. Het is bedoeld om de usecases te ondersteunen die momenteel worden afgehandeld door zowel PulseAudio als Jack en tegelijkertijd hetzelfde niveau van krachtige verwerking van video-invoer en -uitvoer te bieden.
Het introduceert ook een beveiligingsmodel dat de interactie met audio- en videoapparaten van gecontaineriseerde applicaties eenvoudig maakt, waarbij het ondersteunen van Flatpak-applicaties het primaire doel is. Naast Wayland en Flatpak verwachten we dat PipeWire een kernbouwsteen zal zijn voor de toekomst van de ontwikkeling van Linux-applicaties.
Functies in PipeWire
In deze blogpost legt Christian uit dat PipeWire een beveiligingsmodel introduceert dat eenvoudigere interacties mogelijk maakt tussen audio- en videoapparaten van apps in de sandbox; en met de manier waarop Flatpak en andere containermodellen de markt overnemen, lijkt dit een win-winsituatie.
Installatie en documentatie
Op het moment van schrijven is PipeWire niet direct beschikbaar voor installatie op de meeste distro's, maar je kunt dit omzeilen door de broncode te pakken van GitHub en compileren vanaf de broncode of installeren van een van de pakketten gemaakt voor Fedora 27 en Fedora Rawhide.
Gebruik de onderstaande code om de repo van GitHub te klonen:
$ git kloon https://github.com/PipeWire/pipewire.git
Voer vervolgens met behulp van het Meson-bouwsysteem de volgende opdrachten in:
$ ./autogen.sh --prefix=$PREFIX $ maken $ maak installatie
De $PREFIX
wordt gewoonlijk ingesteld op /usr
of /usr/local.
Test nu de PipeWire-server vanuit de brondirectory met de opdracht:
$ laat rennen
Als u de video-opname en weergave met SDL uit de bronmap wilt testen, gebruikt u:
$ SPA_PLUGIN_DIR=build/spa/plugins PIPEWIRE_MODULE_DIR=build build/src/examples/export-sink
Je kunt ook spelen met de andere voorbeelden.
Onthoud dat als je niet de juiste omgevingsvariabelen instelt, zoals hierboven weergegeven, de plug-ins en modules niet worden gevonden.
Kijk voor een verzameling nuttige pagina's op PipeWire op de wikipagina en de API-documentatie hier.
Het is duidelijk dat het nogal wat gedoe kost om PipeWire op je systeem te laten werken, maar vroeg of laat zal de installatie geen probleem meer zijn .
Als u door kunt gaan met de installatie, vergeet dan niet uw gebruikservaring met ons te delen in de opmerkingen hieronder.