A fost publicată versiunea 1.0.0 a serverului multimedia PipeWire, care este marcata ca primul release stabil, semnificând maturitatea proiectului. La nivel API și ABI, versiunea 1.0 este compatibilă înapoi cu ramura 0.3. PipeWire se prezintă ca un server menit să înlocuiască serverul audio PulseAudio și se diferențiază prin adăugarea de funcționalități pentru gestionarea fluxurilor video, capabilitatea de a procesa sunet cu latențe minime și un nou model de securitate pentru gestionarea accesului la nivelul dispozitivelor și fluxurilor. Proiectul este susținut de GNOME și este deja folosit în mod implicit în Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE și multe alte distribuții Linux. Codul proiectului este scris în limbajul C și este distribuit sub licența LGPLv2.1.
PipeWire oferă capacități pentru procesarea oricăror fluxuri multimedia, fiind capabil să amestece și să redirecționeze fluxuri cu video, putând fi utilizat pentru gestionarea surselor video, cum ar fi dispozitivele de captare video, camere web sau conținutul ecranului generat de aplicații. De exemplu, PipeWire permite colaborarea mai multor aplicații cu o cameră web și rezolvă problemele de captare sigură a conținutului de pe ecran și accesul la distanță la ecran în mediul Wayland.
PipeWire poate acționa și ca un server audio server, oferind latențe minime și furnizând funcționalitate care combină capabilitățile PulseAudio și JACK, inclusiv luând în considerare nevoile sistemelor de procesare profesională a sunetului, la care PulseAudio nu a putut aspira. În plus, PipeWire oferă un model de securitate avansat, care permite gestionarea accesului la nivel de dispozitive individuale și fluxuri specifice, simplificând organizarea redirecționării audio și video din și către containere izolate. Unul dintre obiectivele principale este suportul pentru aplicații autonome în format Flatpak și funcționarea în stiva grafică bazată pe Wayland.
Funcționalități principale:
- Capturarea și redarea sunetului și video-ului cu latențe minime;
- Instrumente pentru procesarea video și sunetului în timp real;
- Arhitectură multiprocesor, care permite accesul comun la conținut din mai multe aplicații;
- Modelul de procesare pe baza graficului nodurilor multimedia, cu suport pentru bucle de feedback și actualizări atomice ale graficului. Permite conectarea handlerelor atât în interiorul serverului, cât și a pluginurilor externe;
- Interfață eficientă de acces la fluxurile video prin transmiterea descriptorilor de fișiere și acces la sunet prin intermediul bufferelor circulare partajate;
- Capacitate de procesare a datelor multimedia din orice procese;
- Disponibilitatea unui plugin pentru GStreamer pentru a simplifica integrarea cu aplicațiile existente;
- Suport pentru medii izolate și Flatpak;
- Suport pentru pluginuri în format SPA (Simple Plugin API) și posibilitatea creării de pluginuri care funcționează în mod real-time strict;
- Sistem flexibil de negociere a formatelor multimedia utilizate și alocarea bufferelor;
- Utilizarea unui singur proces de fundal pentru rutarea sunetului și video. Posibilitatea de a funcționa ca server de sunet, hub pentru furnizarea aplicațiilor video (de exemplu, pentru API-ul screencast gnome-shell) și server pentru gestionarea accesului la dispozitivele hardware de captura video.
Printre schimbările față de ramura 0.3 se remarcă activarea implicită a suportului jackdbus, care permite utilizarea PipeWire ca un client complet al sistemului audio JACK. Pentru ALSA, a fost implementată o planificare bazată pe IRQ în profilul Pro-Audio, care permite atingerea întârzierilor la nivel JACK. A fost adăugat suport pentru versiuni simultane vechi și noi ale webrtc-audio-processing. În pw-cat a fost adăugat suport pentru fișierele DFF DSD. A fost adădat suport pentru platforma GNU/Hurd.
Sursa: opennet.ro
