Den multimedi server PipeWire 1.6.0 er blevet offentliggjort

Efter næsten et års udvikling er den nye stabile version af multimedi serveren PipeWire 1.6.0 blevet dannet. Den afløser lydserveren PulseAudio og adskiller sig fra den ved at inkludere værktøjer til håndtering af videostrømme, muligheden for at behandle lyd med minimal forsinkelse og en ny sikkerhedsmodel til at styre adgang på niveauet af individuelle enheder og strømme. Projektet anvendes som standard i Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE og mange andre Linux-distributioner. Koden er skrevet i C og distribueres under MIT-licensen.

PipeWire er baseret på en multiprocessarkitektur, der muliggør deling af indhold mellem flere applikationer. Den tilbyder muligheder for at behandle alle multimediestrømme, blande og omdirigere videostrømme samt styre videokilder som videooptagelsesudstyr, webkameraer eller indhold vist af applikationer på skærmen. PipeWire giver mulighed for, at flere applikationer kan arbejde sammen med et webkamera og løser problemer med sikker optagelse af skærmindhold og fjernadgang til skærmen i et Wayland-miljø.

Ved brug som lydserver server, kan PipeWire sikre minimal forsinkelse og tilbyde funktionalitet, der kombinerer mulighederne fra PulseAudio og JACK, med fokus på behovene fra professionelle lydbehandlingssystemer, noget PulseAudio ikke kunne imødekomme. PipeWire tilbyder en udvidet sikkerhedsmodel, der muliggør adgangsstyring på niveauet af individuelle enheder og specifikke strømme. Den implementerede adgangsmodel forenkler omdirigering af lyd og video fra og ind i isolerede containere.

I den nye version:

  • En decoder for lydkodeken LDAC, der bruges til at overføre høj kvalitet lyd over Bluetooth, er blevet tilføjet. Biblioteket libldac er anvendt til dekodningen.
  • Muligheden «bluez5-plc-spandsp» er blevet tilføjet for at kompensere for pakketab ved overførsel af lyd over Bluetooth, ved at bruge mulighederne fra biblioteket SpanDSP.
  • En sikker implementering af funktioner til parsing og oprettelse af serialiserede objekter i POD (Plain Old Data) format i delt hukommelse er blevet tilføjet.
  • Muligheden for at overføre metadata om støtte til ekstra funktioner (features) fra PipeWire-noder er blevet implementeret, hvilket kan bruges til at synkronisere brugen af udvidet funktionalitet, såsom støtte til RELEASE-operationen.
  • Støtten til at vedhæfte ekstra brugerdata i de kommandoer og begivenheder, der overføres mellem noder, er blevet tilføjet.
  • Yderligere hjælpefunktioner til oprettelse og analyse af komprimeringsformater er blevet implementeret.
  • Standardgrænsen for det maksimale antal kanaler er blevet øget til 128. Muligheden for at omdefinere denne grænse under kompilering er blevet tilføjet.
  • Der er tilføjet en indstilling "audio.layout" til at angive arrangementet for flerdimensionelt surroundlyd (f.eks. "audio.layout = 5.1") uden behov for at angive kanalpositioner ("audio.position = [ FL, FR, FC, LFE, SL, SR ]").
  • Mekanismen "Capability Params" er blevet tilføjet for at koordinere link-mulighederne på et stade før bestemmelse af formater og buffere.
  • Støtten til nye farvetypetyper (colortype) for HDR er blevet tilføjet.
  • I hændelsesbehandlingscykler er der implementeret støtte til blokeringer med prioritetomvendelse, der forhindrer situationer, hvor en højprioriteret tråd skal vente på frigivelsen af en blokering, der er blevet pålagt af en lavprioriteret tråd. Der er anvendt letvægtsblokeringer i stedet for epoll og eventfd til synkronisering af tilstande mellem tråde.
  • Støtten til at bestemme kanalpositionen gennem analyse af EDID-data er blevet tilføjet.
  • Overførslen af kanaler til ALSA subsystemet for surroundlydkort er blevet sikret (hvilken kanal der er højre, hvilken der er venstre osv.).
  • Der er foretaget mange forbedringer relateret til Bluetooth, RTP (Real-time Transport Protocol) og AVB (Audio Video Bridging).
  • Arbejdet med implementeringen af netværksprotokollen Milan til overførsel af multimediedata i realtid fortsætter.
  • Der er tilføjet støtte til tilpassede forvrængningsundertrykkelsesfunktioner, såsom Blackman og Kaiser, i systemet til ændring af prøvefrekvenser (resampler). Der er anvendt faste decimale beregninger for at forbedre nøjagtigheden af faseregningen.
  • Muligheden for at anvende FFmpeg-lydeffektfiltre og AI-modeller baseret på ONNX, såsom Silero talegenkendelsesdetektor, i lydnodes grafen er blevet givet.
  • Støtten til klienter, der bruger protokol v0, der blev anvendt i tidligere versioner af PipeWire, er blevet ophævet.
  • Modulet jack-tunnel har fået tilføjet støtte til automatisk portforbindelse.
  • Streaming-systemet ROC har fået implementeret støtte for multitrack-layouts.
  • Mulighed for at ændre ressourcegrænser (rlimit) gennem konfigurationsfilen er blevet givet.
  • Egenskaben «thread.reset-on-fork» er blevet tilføjet for at styre nulstillingen af tråde ved kald af fork. For JACK-klienter kan nulstillingen af tråde deaktiveres ved at sætte «thread.reset-on-fork=false».
  • Flagget node.exclusive er blevet tilføjet, hvilket sikrer, at en port kun har én kilde og én forbruger, hvilket er nødvendigt for at implementere mekanismen Explicit Sync.
  • Flagget node.reliable er blevet tilføjet for modus for garanteret levering.
  • I værktøjet pw-cat er der tilføjet støtte for MIDI-meddelelser SysEx (System Exclusive, til konfiguration af synthesizere), midiclip-containeren og ubearbejdede lydformater. Der er tilføjet muligheder for at angive lydcontainerformater og codecs samt at se listen over understøttede containere, codecs, surround sound layouts og kanalnavne.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster