PipeWire

From Wikipedia, the free encyclopedia

PipeWire
Remove ads

PipeWire on infrastruktuuri äänen ja videon käsittelyyn Linux-alustalla, joka pyrkii yhdistämään PulseAudion ja JACK Audio Connection Kitin käyttötapaukset.[2]

Pikafaktoja Kehityshistoria, Tiedot ...

PipeWiren alkuperäinen kehittäjä on Wim Taymans, joka sai ajatuksen William Manleyn PulseVideosta, sekä tarpeesta näytön kaappaukseen.[3][4] Taymans liittyi Red Hatille vuonna 2013 ja aloitti PipeWiren kehittämisen vuonna 2015.[3] Alkuperäinen käyttökohde oli videokuvan välittäminen, johon tuli lisänä turvallisuus ja Flatpak-tuki.[3] Taymans oli myös GStreamerin kehittäjä.[3][4] PipeWiren tavoitteena on tukea ammattilaiskäyttöä kuluttajakäytön lisäksi, johon PulseAudio ei pyri.[4] PipeWire käyttää JACKin kaltaista mallia äänen käsittelyyn.[5] PipeWireen on lisätty keskeytyspohjainen (IRQ) ajoitus, jolloin sen latenssi vastaa JACKin tasoa.[6]

Ohjelmisto on suunniteltu korjaamaan PulseAudion ja JACKin ongelmakohdat.[7] PipeWiren eduiksi sanotaan korkea suorituskyky myös alhaisen latenssin kanssa, turvallisuus, joustavuus ja integroitavuus sekä ylläpidettävyys.[7] Muokattavuus soveltuu erikoiskohteisiin kuten sulautettuihin järjestelmiin.[7] Yhteensopivuuden vuoksi asiakasohjelmille on kirjastot, jolloin ne eivät tarvitse muutoksia.[7]

Videokaappaus verkkokameralta on aiemmin tapahtunut suoraan Video4Linux -rajapinnan kautta, mutta siihen liittyvien rajoitteiden ja uusien tarpeiden vuoksi on ilmaantunut tarve vaihtoehtoiselle tavalle.[8][3]

Versio 1.0.0 on julkaistu 26. marraskuuta 2023.[9] Jatkokehityksenä aikomuksena on yhdistää stream- ja filter-rajapinnat, ja lisätä NetJack2-tuki ja FFADO-ajurien tuki. PulseAudio- ja JACK-rajapinnat ovat edelleen tuettuja.[10] Versiossa 1.4 mukana on muun muassa UMP (Universal MIDI) -tuki ja Direct Stream Digital (DSD) -tuki.[11]

Remove ads

Käyttökohteet

PipeWire on alkujaan julkaistu Fedoran versiossa 27.[2] PipeWire korvasi PulseAudion oletuksena käytettävänä Fedoran versiossa 34.[3] GNOME käyttää versiosta 3.38 lähtien PipeWirea näytön jakamiseen Waylandin kanssa.[3][12] Ubuntun versiossa 22.10 PipeWire on oletuksena käytössä.[13][14] Debian siirtyi versiossa 12 PipeWireen.[15]

Tekniikka

PipeWire on mediapalvelin, joka suorittaa graafissa sijaitsevia multimediasolmuja. Solmut voidaan suorittaa palvelinprosessissa tai erillisissä prosesseissa, jotka kommunikoivat palvelimen kanssa. Palvelin ja protokolla tukevat videota ja audiota.[16]

PipeWiressa on kaksi pääkomponenttia: graafipohjainen mediakäsittely ja asynkroninen prosessien välinen kommunikaatio (IPC). Palvelinprosessi toteuttaa graafin, ja asiakasohjelmat toimivat tämän kanssa. IPC-mekanismin inspiraatio on Wayland-protokollasta, mutta erikoistuneella serialisoinnilla monimutkaisempien tietorakenteiden vuoksi. PipeWiren arkkitehtuuri perustuu laajennusmoduuleille, jotka voivat muuttaa toimintoja ja saatavia ominaisuuksia.[16][17]

Remove ads

Apuohjelmistot

Thumb
Kuvakaappaus Helvumista. Yhteydet esitetty harmailla viivoilla.

PipeWiren ydinpalvelin ei toteuta kaikkea itse, vaan osa toiminnoista on jätetty apuohjelmiin. PipeWiren yhteyksien hallintaan ja esittämiseen on useita apuohjelmia:[18]

  • WirePlumber käsittelee istuntoja ja tukee Lua-kielellä tehtyjä moduuleja
  • qpwgraph on Qt-pohjainen työkalu yhteyksien esittämiseen ja tallentamiseen
  • Helvum on GTK-pohjainen työkalu yhteyksien esittämiseen

Lähteet

Aiheesta muualla

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads