Objavljena je edicija multimedijskog servera PipeWire 1.0.0, koja se smatra prvim stabilnim izdanjem i označava zrelost projekta. Na nivou API i ABI, verzija 1.0 je unazad kompatibilna sa granom 0.3. PipeWire se pozicionira kao server koji zamenjuje zvučni server PulseAudio, a razlikuje se od njega dodavanjem sredstava za rad sa video streamovima, mogućnošću obrade zvuka s minimalnim kašnjenjem i novim modelom bezbednosti za upravljanje pristupom na nivou pojedinačnih uređaja i streamova. Projekt podržava GNOME i već se podrazumevano koristi u Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE i mnogim drugim distribucijama Linuxa. Kod projekta je napisan na jeziku C i distribuiran je pod licencom LGPLv2.1.
PipeWire pruža mogućnosti za obradu svih multimedijskih streamova, sposoban je mešati i preusmeravati streamove s videom, može se koristiti za upravljanje izvorima videa kao što su uređaji za snimanje videa, web kamere ili sadržaj ekrana koji generišu aplikacije. Na primer, PipeWire omogućava simultani rad više aplikacija s web kamerom i rešava probleme sa bezbednim snimanjem sadržaja ekrana i daljinskim pristupom ekranu u okruženju Wayland.
PipeWire također može funkcionirati kao zvučni strežnika, ki zagotavlja minimalne zamude in združuje funkcionalnosti PulseAudio in JACK, vključno s potrebami sistemov za profesionalno obdelavo zvoka, za katere PulseAudio ni mogel biti primeren. Poleg tega PipeWire ponuja razširjen varnostni model, ki omogoča upravljanje dostopa na ravni posameznih naprav in specifičnih tokov, ter poenostavi organizacijo preusmerjanja zvoka in videa iz izoliranih kontejnerjev in vanje. Eden od glavnih ciljev je podpora samostojnim aplikacijam v formatu Flatpak in delo v grafičnem skladu na osnovi Waylanda.
Glavne značilnosti:
- Zajem in predvajanje zvoka in videa z minimalnimi zamudami;
- Orodja za obdelavo videa in zvoka v realnem času;
- Večprocesna arhitektura, ki omogoča skupno rabo vsebine več aplikacij;
- Model obdelave na osnovi grafa multimedijskih vozlišč s podporo povratnih zank in atomskim posodobitvam grafa. Dovoljuje povezovanje obdelovalcev tako znotraj strežnika kot zunanjih vtičnikov;
- Učinkovit vmesnik za dostop do video tokov preko prenosa datotečnih descriptorjev in dostopa do zvoka preko skupno rabljenih obročnih pomp (shared ringbuffer);
- Možnost obdelave multimedijskih podatkov iz kateregakoli procesa;
- Prisutnost vtičnika za GStreamer, ki poenostavi integracijo z obstoječimi aplikacijami;
- Podpora izoliranim okoljem in Flatpak;
- Podpora vtičnikom v formatu SPA (Simple Plugin API) in možnost ustvarjanja vtičnikov, ki delujejo v načinu stroge realnosti;
- Prilagodljiv sistem usklajevanja uporabljenih multimedijskih formatov in dodeljevanja pomnilnikov;
- Uporaba enega ozadnega procesa za usmerjanje zvoka in videa. Možnost delovanja v obliki zvočnega strežnika, vozlišča za zagotavljanje videa aplikacijam (na primer za gnome-shell screencast API) in strežnika za upravljanje dostopa do strojnih naprav za video zajemanje.
Među promenama u odnosu na granu 0.3 ističe se da je podrazumevano uključena podrška za jackdbus, što omogućava korišćenje PipeWire-a kao punopravnog klijenta zvučnog sistema JACK. Za ALSA je angažovana planifikacija zasnovana na IRQ u Pro-Audio profilu, što omogućava postizanje latencija na nivou JACK-a. Dodata je podrška za istovremeno korišćenje stare i nove verzije webrtc-audio-processing. Takođe, pw-cat je dobio podršku za DFF DSD datoteke. Dodata je podrška za platformu GNU/Hurd.
Izvor: opennet.ru
