jelentős kiadás a projekt számára , amely egy új generációs multimédiás szerver, a PulseAudio helyettesítésére szolgáló fejlesztés. A PipeWire bővíti a PulseAudio lehetőségeit videostreaming eszközökkel, minimális késleltetésű hangfeldolgozási lehetőségekkel és új biztonsági modellel a különálló eszközök és stream-ek hozzáférésének kezelésére. A projektet a GNOME támogatja, és már aktívan használják a Fedora Linuxban a képernyő felvételére (screencasting) és a képernyőmegosztásra a Wayland alapú környezetekben. A projekt kódja C nyelven íródott és LGPLv2.1 licenc alatt áll.
Fő A PipeWire 0.3-ban:
- Teljesen átdolgozták az adatfolyamok feldolgozásának ütemezőjét. A változások lehetővé tették egy interfész indítását a JACK hangszolgáltatóval való kompatibilitás érdekében, amelynek teljesítménye összehasonlítható a JACK2-vel.
- Átdolgozva és stabilnak nyilvánítva . Minden további változás az API-ban a meglévő alkalmazásokkal való visszafelé kompatibilitás megsértése nélkül tervezhető.
- A rendszer tartalmaz egy ülésszervezőt, amely lehetővé teszi a multimédiás csomópontok grafikonjának kezelését a PipeWire-ban, valamint új streamek hozzáadását. Jelenleg az ülésszervező csupán az alapfunkciók egyszerű készletét kínálja, a jövőben pedig bővülni fog, vagy egy funkcionalitásában gazdagabb és rugalmasabb alternatívához, például a .
- A PipeWire által biztosított PulseAudio, JACK és ALSA kompatibilitáshoz tartozó könyvtárak fejlesztése is javult, lehetővé téve a PipeWire használatát a már meglévő más hangrendszerekkel tervezett alkalmazásokkal. Az ALSA könyvtár már majdnem teljesen készen áll, de a JACK és PulseAudio könyvtárak még további fejlesztéseket igényelnek. A PipeWire jelenleg nem készült el a PulseAudio és JACK teljes körű helyettesítésére, de a közelgő kiadásokban a kompatibilitás kérdései prioritást élveznek.
- A PipeWire-ral való interakcióhoz néhány GStreamer bővítmény is be lett építve. A pipewiresrc bővítmény, amely a PipeWire-t hangforrásként használja, a legtöbb helyzetben problémamentesen működik. A pipewiresink bővítmény, amely a PipeWire-n keresztül biztosítja a hangkimenetet, azonban még bizonyos ismert problémáktól szenved.
- A PipeWire 0.3 támogatása a GNOME projekten fejlesztett ablakkezelőbe, a Mutterbe.
A PipeWire emlékeztető, amely bővíti a PulseAudio alkalmazási területét, kezelve bármilyen multimédiás folyamot, és képes keverni és átirányítani a videófolyamokat. A PipeWire lehetőséget biztosít a videoforrások kezelésére, például videofelvevő eszközökre, webkamerákra vagy a rendszeren futó alkalmazások által megjelenített tartalomra. Például a PipeWire lehetővé teszi, hogy több alkalmazás együttműködjön egy webkamerával, valamint megoldja a képernyőtartalom biztonságos rögzítésének és távoli hozzáférésének problémáit a Wayland környezetben.
A PipeWire hangkiszolgálóként is működhet, biztosítva a minimális késleltesést és a funkcionálisan kombinált képességeket, és , figyelembe véve a professzionális audiofeldolgozási rendszerek igényeit, amire a PulseAudio nem volt képes. Továbbá, a PipeWire kiterjedt biztonsági modellt kínál, amely lehetővé teszi az egyes eszközök és specifikus folyamok szintjén való hozzáférés kezelését, és megkönnyíti a hang- és videófolyamatok átirányítását izolált konténerekből és azokba. Az egyik fő célja az önálló alkalmazások támogatása Flatpak formátumban, és a Wayland alapú grafikus stackben való működés.
:
- Hang- és videofolyamok rögzítése és lejátszása minimális késleltetéssel;
- Valós idejű video- és hangfeldolgozó eszközök;
- Többprocesszor-architektúra, amely lehetővé teszi több alkalmazás közötti tartalommegosztást;
- Multimédiás csomópontok gráf alapú feldolgozási modell, támogatva a visszacsatoló ciklusokat és a gráf atomikus frissítéseit. Kezelők csatlakoztatása megengedett a kiszolgálón belül és külső pluginek által is;
- Hatékony interfész a videofolyamokhoz való hozzáféréshez fájl-kezdeményezők átvitelén keresztül, és hozzáférés a hanghoz osszaközösített gyűrűs puffereken (shared ringbuffer);
- Bármely folyamatból származó multimédiás adatok feldolgozásának lehetősége;
- A GStreamerhez készült plugin jelenléte, amely megkönnyíti a meglévő alkalmazásokkal való integrációt;
- Izolált környezetek és Flatpak támogatása;
- Plugin támogatás (Egyszerű Plugin API) és a szigorúan valós idejű működésű pluginek létrehozásának lehetősége;
- Rugalmas rendszer a használt multimédiás formátumok egyeztetésére és a pufferek kiosztására;
- Egy háttérfolyamat használata a hang és videó irányításához. Lehetőség hangkiszolgálóként, hubként a videóalkalmazások számára (például a gnome-shell screencast API számára), és a videofogó hardverekhez való hozzáférés kezelésére szolgáló szerverként működni.
Forrás: opennet.ru
