Efter sju mÄnaders utveckling har den nya stabila grenen av multimediaservern PipeWire 1.2.0 skapats, som ersÀtter ljudservern PulseAudio och skiljer sig frÄn den genom att lÀgga till verktyg för att hantera videoströmmar, möjligheten att bearbeta ljud med minimal fördröjning och en ny sÀkerhetsmodell för att hantera Ätkomst pÄ nivÄ av enskilda enheter och strömmar. Projektet stöds av GNOME och anvÀnds som standard i Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE och mÄnga andra Linux-distributioner. Projektets kod Àr skriven i C och distribueras under LGPLv2.1-licensen.
PipeWire bygger pÄ en mÄngprocessarkitektur som möjliggör delad Ätkomst till innehÄllet frÄn flera applikationer.
Möjligheter ges för att bearbeta alla typer av multimediastreamar, blanda och omdirigera videoströmmar samt hantera videokÀllor, sÄsom videoinspelningsenheter, webbkameror eller det innehÄll som applikationer visar pÄ skÀrmen. Till exempel ger PipeWire möjlighet till samarbete mellan flera applikationer med en webbkamera och löser problem med sÀker skÀrminspelning och fjÀrrÄtkomst till skÀrmen i en Wayland-miljö.
NÀr den anvÀnds som ljudserver kan PipeWire erbjuda minimala fördröjningar och ge funktionalitet som kombinerar möjligheterna hos PulseAudio och JACK, inklusive att ta hÀnsyn till behoven hos professionella ljudbehandlingssystem som PulseAudio inte kunde uppfylla. Dessutom erbjuder PipeWire en avancerad sÀkerhetsmodell som gör det möjligt att hantera Ätkomst pÄ nivÄ av enskilda enheter och specifika strömmar, samt förenklar organiseringen av ljud- och videopassering frÄn och till isolerade containrar. Ett av huvudmÄlen Àr att stödja sjÀlvförsörjande applikationer i Flatpak-format och att fungera i ett grafiskt system baserat pÄ Wayland.
I den nya versionen:
- Stöd för asynkron bearbetning har lagts till i dataflödesmodellen baserad pÄ noder, dÀr nodgrafen inte blockeras vid brist pÄ utdata frÄn en viss nod, utan fortsÀtter att fungera med data frÄn noden som mottogs under föregÄende cykel. SÄledes, till en kostnad av en cykelfördröjning, undviks situationen dÀr en nod blockerar arbetet för övriga noder i grafen.
- Konceptet med synkroniserade nodgrupper (node.sync-group) har implementerats, vilket möjliggör skapande av grupper av noder som aktiveras samtidigt av schemalÀggaren. Funktionen kan anvÀndas för att schemalÀgga aktivering av noder vid start av JACK-transport.
- Utskriften av felinformation i konfigurationsfilen har förbÀttrats, och det har lagts till information om platsen för felet i instÀllningarna (radnummer och position i raden).
- Stöd för Explicit Sync-teknologi har lagts till, vilket gör att program kan informera kompositörshanteraren baserad pÄ Wayland-protokollet om att bilden Àr redo för skÀrmen, vilket gör det möjligt att minska fördröjningar och undvika artefakter vid grafikutmatning. Explicit Sync löser sÀrskilt problem med utmatningsstörningar och hÀngningar pÄ system med NVIDIA GPU och aktiverat Wayland-stöd.
- Möjligheten att definiera obligatoriska metadata vid överenskommelse om buffertparametrar, som anvÀnds för att stödja 'Explicit Sync', har implementerats.
- Stöd för att skapa och anvÀnda flera databehandlingsloopar (data-loop) i klienten har lagts till servern. Databehandlingsloopar har fÄtt funktioner för bindning till specifika CPU-kÀrnor och för att stÀlla in prioriteringar.
- Möjligheten att Àndra felsökningsnivÄer, som styr utdata av information till loggen utan omstart, har tillhandahÄllits genom att anvÀnda metadata.
- Logiken för att binda peers (noder i datastream-grafen som definierar externa datakÀllor eller mottagare) har omarbetats.
- Patchar för att hantera enheter markerade som konfliktande via ALSA UCM (Use Case Manager) har accepterats.
- Modulen snapcast-discover har lagts till för att strömma innehÄll till servrar SnapХast.
KĂ€lla: opennet.ru
