Multimediaserver PipeWire 0.3 är tillgänglig och ersätter PulseAudio

publiceras betydande projektrelease PipeWire 0.3.0, utvecklar en ny generation multimediaserver för att ersätta PulseAudio. PipeWire utökar PulseAudios möjligheter med videoströmningsfunktioner, ljudbearbetning med låg latens och en ny säkerhetsmodell för åtkomstkontroll på enhets- och streamnivå. Projektet stöds i GNOME och används redan aktivt i Fedora Linux för skärminspelning och skärmdelning i Wayland-baserade miljöer. Projektkoden är skriven i C och levererad av licensierad under LGPLv2.1.

Den huvudsakliga förändringar i PipeWire 0.3:

  • Trådbearbetningsschemaläggaren har gjorts om helt. Förändringarna gjorde det möjligt att köra ett lager för att säkerställa kompatibilitet med JACK-ljudservern, vars prestanda är jämförbar med JACK2.
  • Omarbetad och stabilförklarad API. Alla ytterligare ändringar av API:et är planerade att göras utan att bryta bakåtkompatibiliteten med befintliga applikationer.
  • Den innehåller en sessionshanterare som låter dig hantera grafen för multimedianoder i PipeWire, samt lägga till nya strömmar. För närvarande tillhandahåller chefen bara en enkel uppsättning grundläggande funktioner och i framtiden kommer den att utökas eller ersättas med ett mer funktionellt och flexibelt alternativ, som t.ex. WirePlumber.
  • De medföljande biblioteken har förbättrats för att ge kompatibilitet med PulseAudio, JACK och ALSA, vilket gör att PipeWire kan användas med befintliga applikationer designade för att fungera med andra ljudsystem. Biblioteket för ALSA är nästan klart, men biblioteken för JACK och PulseAudio kräver fortfarande arbete. PipeWire är ännu inte redo att helt ersätta PulseAudio och JACK, men kompatibilitetsproblem kommer att prioriteras i framtida utgåvor.
  • Inkluderat är några GStreamer-plugins för interaktion med PipeWire. Plugin-programmet pipewiresrc, som använder PipeWire som ljudkälla, fungerar utan problem i de flesta situationer. Pipewiresink-plugin för ljudutgång via PipeWire har ännu inte några kända problem.
  • Stöd för PipeWire 0.3 integrerad i Mutter-fönsterhanteraren som utvecklats av GNOME-projektet.

Låt oss påminna dig om att PipeWire utökar omfattningen av PulseAudio genom att bearbeta alla multimediaströmmar och kan blanda och omdirigera videoströmmar. PipeWire tillhandahåller också funktioner för att styra videokällor, såsom videoinspelningsenheter, webbkameror eller innehåll på applikationsskärmen. Till exempel tillåter PipeWire flera webbkameraapplikationer att arbeta tillsammans och löser problem med säker skärmdumpning och fjärråtkomst till skärm i Wayland-miljön.

PipeWire kan också fungera som en ljudserver, vilket ger minimal latens och kombinerar funktionalitet Pulseaudio и JACK, inklusive att ta hänsyn till behoven hos professionella ljudbehandlingssystem, vilket PulseAudio inte kunde göra anspråk på. Dessutom erbjuder PipeWire en avancerad säkerhetsmodell som tillåter åtkomstkontroll på enhets- och streamnivå, och gör det enklare att dirigera ljud och video till och från isolerade behållare. Ett av huvudmålen är att stödja fristående Flatpak-applikationer och köra på en Wayland-baserad grafikstack.

Den huvudsakliga möjligheter:

  • Fånga och spela upp ljud och video med minimala fördröjningar;
  • Verktyg för bearbetning av video och ljud i realtid;
  • Flerprocessarkitektur som låter dig organisera delad åtkomst till innehållet i flera applikationer;
  • En bearbetningsmodell baserad på en graf över multimedianoder med stöd för återkopplingsslingor och uppdateringar av atomdiagram. Det är möjligt att ansluta hanterare både inuti servern och externa plugins;
  • Ett effektivt gränssnitt för åtkomst till videoströmmar genom överföring av filbeskrivningar och åtkomst till ljud via delade ringbuffertar;
  • Förmåga att bearbeta multimediadata från alla processer;
  • Tillgänglighet av ett plugin för GStreamer för att förenkla integrationen med befintliga applikationer;
  • Stöd för isolerade miljöer och Flatpak;
  • Stöd för plugins i formatet SPA (Simple Plugin API) och möjligheten att skapa plugins som fungerar i hård realtid;
  • Flexibelt system för koordinering av använda multimediaformat och tilldelning av buffertar;
  • Använda en enda bakgrundsprocess för att dirigera ljud och video. Möjligheten att arbeta i form av en ljudserver, ett nav för att tillhandahålla video till applikationer (till exempel för gnome-shell screencast API) och en server för att hantera åtkomst till hårdvaruvideoinspelningsenheter.

Källa: opennet.ru

Lägg en kommentar