Megjelent a PipeWire 1.0.0 multimédiás szerver, amelyet az első stabil verzióként emlegetnek, jelezve a projekt érettségét. Az API és ABI szinten az 1.0-as verzió visszafelé kompatibilis a 0.3-as ággal. A PipeWire-t szerverként pozicionálják, amely a PulseAudio hangszolgáltatót váltja fel, és különbözik tőle a videofolyamok kezelésére szolgáló eszközök hozzáadásával, alacsony késleltetésű hangfeldolgozási lehetőséggel és új biztonsági modellel, amely lehetővé teszi az egyes eszközök és folyamok szintjén a hozzáférés kezelését. A projektet a GNOME támogatja, és már alapértelmezetten használatban van a Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE és számos más Linux disztribúcióban. A projekt kódja C nyelven íródott és LGPLv2.1 licensz alatt terjesztik.
A PipeWire bármilyen multimédiás folyam feldolgozására képes, képes összekeverni és átirányítani a videofolyamokat, és alkalmazható videoforrások kezelésére, mint például videokamera, webkamera vagy az alkalmazások által megjelenített képernyőtartalom. Például a PipeWire lehetővé teszi több alkalmazás együttműködését a webkamerával, és megoldja a képernyőtartalom biztonságos rögzítésével és a távoli képernyőelérés problémáit a Wayland környezetében.
A PipeWire szintén hangkimeneti eszközként is működhet a szerver, biztosítva a minimális késleltetést és olyan funkciókat nyújtva, amelyek ötvözik a PulseAudio és JACK képességeit, figyelembe véve a professzionális hangfeldolgozás igényeit, amelyekre a PulseAudio nem volt alkalmas. Emellett a PipeWire kiterjesztett biztonsági modellt kínál, amely lehetővé teszi a hozzáférés kezelését eszközök és specifikus stream-ek szintjén, és megkönnyíti a hang- és videoforgalom irányítását elszigetelt tartályokból és azokba. Az egyik fő cél a Flatpak formátumú önálló alkalmazások támogatása és a Wayland alapú grafikus stack-kel való együttműködés.
Főbb funkciók:
- 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;
- SPA (Simple Plugin API) formátumú pluginek támogatása és a valós idejű működésű pluginek készítésének 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.
A 0.3-as ággal összehasonlítva a főbb változások közé tartozik, hogy alapértelmezetten támogatja a jackdbus-t, lehetővé téve a PipeWire teljes értékű JACK hangrendszer klienseként való használatát. Az ALSA esetében IRQ-alapú ütemezést alkalmaznak Pro-Audio profilban, amely lehetővé teszi a JACK szintjén elérhető késleltetéseket. Továbbá a webrtc-audio-processing régi és új verziójának egyidejű támogatása is bevezetésre került. A pw-cat-hoz DFF DSD fájlok támogatása került hozzáadásra. Továbbá hozzáadták a GNU/Hurd platform támogatását.
Forrás: opennet.ru
