tÀhtis projekti vÀljalase , areneva multimeedia server uus pÔlvkond, mis asendab PulseAudio. PipeWire laiendab PulseAudio vÔimalusi videovoodete töötlemise vahenditega, vÔimaldades minimaalsete viivitustega helitöötlust ning uut turbemudelit seadmete ja voogude tasemel juurdepÀÀsu haldamiseks. Projekti toetab GNOME ja seda kasutatakse aktiivselt Fedora Linuxis ekraanikuvamise (screencasting) ja ekraani jagamise jaoks Waylandi-pÔhistes keskkondades. Projekti kood on kirjutatud C keeles ja kergendus LGPLv2.1
Peamised PipeWire 0.3-s:
- Voogude töötlemise ajakava on tĂ€ielikult ĂŒmber töötatud. Muudatused on vĂ”imaldanud WAN-i kompatibiliteedi tagamiseks kasutada kihti, mille jĂ”udlus on vĂ”rreldav JACK2-ga.
- Ămber töödeldud ja stabiilseks kuulutatud . KĂ”iki edasisi muudatusi API-s plaanitakse teha ilma tagasipöörduva ĂŒhilduvuse rikkumiseta olemasolevate rakendustega.
- Kokku on lisatud istungihaldur, mis vÔimaldab hallata PipeWire'i multimeedia sÔlmede graafi ning lisada uusi vooge. Hetkel pakub haldur vaid kÔige lihtsamaid pÔhifunktsioone ja tulevikus laiendatakse seda vÔi asendatakse see funktsionaalsema ja paindlikuma variandiga, nÀiteks .
- Parendatud on teeki, et tagada ĂŒhilduvus PulseAudio, JACK ja ALSA-ga, vĂ”imaldades PipeWire'i kasutada olemasolevate rakendustega, mis on loodud teiste helisĂŒsteemidega töötamiseks. ALSA raamatukogu on peaaegu valmis, kuid JACK-i ja PulseAudio raamatukogud vajavad veel tĂ€iustamist. PipeWire ei ole veel valmis tĂ€ielikuks asendamiseks PulseAudio ja JACK-i, kuid jĂ€rgmistes vĂ€ljaannetes pööratakse ĂŒhilduvusele erilist tĂ€helepanu.
- Kokku on lisatud mÔned GStreameri pluginad PipeWire'iga suhtlemiseks. Plugin pipewiresrc, mis kasutab PipeWire'i heliallikana, töötab enamiku olukordade puhul probleemideta. Plugin pipewiresink helide edastamiseks PipeWire'i kaudu ei ole siiski vaba teatud tuntud probleemidest.
- PipeWire 0.3 tugi GNOME projekti arendatava aknahalduriga Mutter.
Kohandame, et PipeWire laiendab PulseAudio rakendusala, töötades igasuguste multimeedia voogudega ning suudab segada ja suunata videovood. PipeWire pakub ka vĂ”imalusi videoallikate haldamiseks, nagu video salvestusseadmed, veebikaamerad vĂ”i rakenduste ekraani sisu. NĂ€iteks vĂ”imaldab PipeWire mitme rakenduse ĂŒhiselt töötada veebikaameraga ning lahendab ekraani sisu turvalise salvestamise ja kaugjuurdepÀÀsu probleemid Waylandi keskkonnas.
PipeWire vĂ”ib samuti toimida heliserverina, tagades minimaalsete viivitustega ja pakkudes funktsionaalsust, mis kombineerib vĂ”imalusi ja , sealdes vajadusi professionaalse helitöötluse sĂŒsteemide jaoks, millele PulseAudio ei saanud pretendeerida. Lisaks pakub PipeWire tĂ€iustatud turvamudelit, mis vĂ”imaldab hallata juurdepÀÀsu individuaalsete seadmete ja konkreetsete voogude tasemel, lihtsustades helide ja videote edastamise korraldamist isoleeritud konteineritest sisse ja vĂ€lja. Ăks peamisi eesmĂ€rke on toetada iseseisvaid rakendusi Flatpak formaadis ning töötada Waylandi pĂ”hjal pĂ”hinevas graafikastendis.
:
- Heli ja video salvestamine ja esitamine madala latentsiga;
- Reaalaja video ja heli töötlemise vahendid;
- Mitme tööprotsessi arhitektuur, mis vÔimaldab mitme rakenduse sisu jagamist;
- Multimeedia sĂ”lmede töötlusmudel tagasiside tsĂŒklite ja graafiku aatomite vĂ€rskenduste toega. Litsentseeritakse töötlejate ĂŒhendamist serveri sees ja vĂ€liste pluginade kaudu;
- TĂ”hus liides videoĂŒlekannete juurde failide descriptorite edastamise ja heli juurdepÀÀsu kaudu ĂŒhiselt kasutatavate ringbufrite (shared ringbuffer) kaudu;
- VÔime töötleda multimeediaandmeid mis tahes protsessidest;
- GStreameri plugin lihtsustatud integreerimiseks olemasolevate rakendustega;
- Isolatsioonikeskkondade ja Flatpaki tugi;
- Pluginate tugi formaadis (Lihtne Plugin API) ja pluginate loomise vÔimalus, mis töötavad karmide reaalajas tingimustes;
- Paindlik sĂŒsteem kasutatavate multimeedia formaatide kooskĂ”lastamiseks ja puhvrite eraldamiseks;
- Ăhe taustaprotsessi kasutamine heli ja video marsruutimiseks. VĂ”ime töötada heliserverina, keskpunktina video rakenduste edastamiseks (nt gnome-shell screencast API jaoks) ja serverina, et hallata juurdepÀÀsu video salvestamise riistvaraseadmetele.
Allikas: opennet.ru
