betydelig udgivelse af projektet , som udvikler en multimedia server af næste generation, der erstatter PulseAudio. PipeWire udvider PulseAudios muligheder med værktøjer til videostreaming, evnen til at behandle lyd med minimal forsinkelse og en ny sikkerhedsmodel til håndtering af adgangsniveauer for individuelle enheder og streams. Projektet understøttes i GNOME og anvendes allerede aktivt i Fedora Linux til skærmoptagelse (screencasting) og deling af skærmen i miljøer baseret på Wayland. Koden til projektet er skrevet i C og under LGPLv2.1-licensen.
Vigtige i PipeWire 0.3:
- Planlæggeren til behandling af streams er blevet fuldstændig omarbejdet. Ændringerne har gjort det muligt at køre et lag for at sikre kompatibilitet med lydserveren JACK, hvis præstation er sammenlignelig med JACK2.
- Omarbejdet og erklæret stabil . Alle fremtidige ændringer i API'et vil blive foretaget uden at bryde bagudkompatibiliteten med eksisterende applikationer.
- Med i pakken er en sessionsmanager, som gør det muligt at styre grafen af multimedia noder i PipeWire samt tilføje nye streams. Indtil videre tilbyder manageren kun et grundlæggende sæt funktioner og vil i fremtiden blive udvidet eller erstattet af en mere funktionel og fleksibel variant, såsom .
- Forbedret kompatibilitet med PulseAudio, JACK og ALSA, som tillader brug af PipeWire med eksisterende applikationer designet til at arbejde med andre lydsystemer. ALSA-biblioteket er næsten færdigbygget, men bibliotekerne til JACK og PulseAudio kræver stadig arbejde. PipeWire er endnu ikke klar til fuldstændig at erstatte PulseAudio og JACK, men senere udgivelser vil prioritere spørgsmål om kompatibilitet.
- Der er inkluderet nogle GStreamer plugins til interaktion med PipeWire. Pluginet pipewiresrc, der bruger PipeWire som lydkilde, fungerer problemfrit i de fleste situationer. Pluginet pipewiresink til lydudslip gennem PipeWire har dog stadig kendte problemer.
- Støtte til PipeWire 0.3 i vinduesmanageren Mutter, der udvikles af GNOME-projektet.
Lad os minde om, at PipeWire udvider PulseAudios anvendelsesområde ved at kunne håndtere enhver mediestrøm og er i stand til at blande og omdirigere videostrømme. PipeWire tilbyder også muligheder for at styre video kilder, såsom video capture-enheder, webkameraer eller indhold, der vises af applikationer på skærmen. For eksempel giver PipeWire mulighed for at organisere samarbejde mellem flere applikationer med et webkamera og løser problemer med sikker skærmfangst og fjernadgang til skærmen i Wayland-miljøet.
PipeWire kan også fungere som en lydserver, der sikrer minimal forsinkelse og tilbyder en funktionalitet, der kombinerer mulighederne og , herunder at tage hensyn til behovene for professionelle lydhåndteringssystemer, som PulseAudio ikke kunne imødekomme. Derudover tilbyder PipeWire en avanceret sikkerhedsmodel, der muliggør adgangsstyring på niveau med individuelle enheder og specifikke strømme, hvilket forenkler organiseringen af lyd- og videolegning fra isolerede containere og ind i dem. Et af de vigtigste mål er at understøtte selvforsynende applikationer i Flatpak-formatet og arbejde inden for den grafiske stak baseret på Wayland.
:
- Optagelse og afspilning af lyd og video med minimale forsinkelser;
- Værktøjer til realtidsbehandling af video og lyd;
- Multiprocess arkitektur, der muliggør delt adgang til indhold mellem flere applikationer;
- Behandlingsmodel baseret på en graf af multimediaknuder med understøttelse af feedbacksløjfer og atomare opdateringer af grafen. Mulighed for tilslutning af behandlere både internt i serveren og eksterne plugins;
- Effektiv grænseflade til adgang til videostrømme via overførsel af filbeskrivelser og adgang til lyd via delte ringbuffer;
- Mulighed for behandling af multimediedata fra enhver proces;
- Tilstedeværelse af en GStreamer-plugin for at forenkle integrationen med eksisterende applikationer;
- Understøttelse af isolerede miljøer og Flatpak;
- Understøttelse af plugins i formatet (Simple Plugin API) og muligheden for at oprette plugins, der fungerer i realtid;
- Fleksibel system til koordinering af anvendte multimediaformater og tildeling af buffers;
- Brug af en enkelt baggrundsproces til routing af lyd og video. Mulighed for at fungere som lydenhed, hub til at levere video til applikationer (for eksempel til gnome-shell screencast API) og server til kontrol af adgang til hardwareenheder til videooptagelse.
Kilde: opennet.ru
