o lansare semnificativă a proiectului , dezvoltând un server multimedia de nouă generație, care înlocuiește PulseAudio. PipeWire extinde capacitățile PulseAudio cu instrumente pentru gestionarea fluxurilor video, posibilitatea de procesare a sunetului cu latență minimă și un nou model de securitate pentru gestionarea accesului la nivel de dispozitive și fluxuri individuale. Proiectul este susținut în GNOME și este deja utilizat activ în Fedora Linux pentru înregistrarea conținutului de ecran (screencasting) și partajarea ecranului în medii bazate pe Wayland. Codul proiectului este scris în limbajul C și sub licența LGPLv2.1.
Principalele în PipeWire 0.3:
- Planificatorul de procesare a fluxurilor a fost complet reproiectat. Schimbările au permis posibilitatea de a rula un adaptor pentru a asigura compatibilitatea cu serverul audio JACK, performanța acestuia fiind comparabilă cu JACK2.
- Reproiectat și declarat stabil . Toate modificările viitoare în API sunt planificate să fie efectuate fără a ancora compatibilitatea cu aplicațiile existente.
- A fost inclus un manager de sesiuni, care permite gestionarea graficului nodurilor multimedia în PipeWire, precum și adăugarea de noi fluxuri. Deocamdată, managerul oferă doar un set de funcții de bază simple, având în vedere că în viitor va fi extins sau înlocuit cu o variantă mai funcțională și flexibilă, cum ar fi .
- Bibliotecile incluse pentru asigurarea compatibilității cu PulseAudio, JACK și ALSA au fost îmbunătățite, permițând utilizarea PipeWire cu aplicații existente, concepute pentru a funcționa cu alte sisteme audio. Biblioteca pentru ALSA este aproape finalizată, dar bibliotecile pentru JACK și PulseAudio mai necesită lucrări. PipeWire nu este încă gata să înlocuiască complet PulseAudio și JACK, dar problemele de compatibilitate vor fi prioritizate în viitoarele versiuni.
- Au fost incluse unele pluginuri GStreamer pentru interacțiunea cu PipeWire. Pluginul pipewiresrc, care utilizează PipeWire ca sursă de sunet, funcționează fără probleme în cele mai multe situații. Pluginul pipewiresink pentru ieșirea sunetului prin PipeWire mai prezintă unele probleme cunoscute.
- Suportul pentru PipeWire 0.3 în managerul de feronerie Mutter, dezvoltat de proiectul GNOME.
Amintim că PipeWire extinde aplicabilitatea PulseAudio prin gestionarea oricuror fluxuri multimedia și este capabil să amestece și să redirecționeze fluxuri video. PipeWire oferă, de asemenea, funcționalități pentru gestionarea surselor video, cum ar fi dispozitivele de captare video, webcam-urile sau conținutul de ecran generat de aplicații. De exemplu, PipeWire permite colaborarea mai multor aplicații cu o cameră web și rezolvă problemele legate de captarea sigură a conținutului de pe ecran și accesul de la distanță în medii Wayland.
PipeWire poate funcționa și ca server de sunet, oferind latențe minime și oferind funcționalitate ce combină capacitățile și , inclusiv cerințele sistemelor profesionale de procesare a sunetului, la care PulseAudio nu putea aspira. În plus, PipeWire oferă un model de securitate extins, care permite gestionarea accesului la nivelul dispozitivelor individuale și al fluxurilor specifice, facilitând redirecționarea sunetului și video-ului din containere izolate și către ele. Unul dintre obiectivele principale este sprijinirea aplicațiilor independente în format Flatpak și funcționarea în stiva grafică bazată pe Wayland.
:
- 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 plugin-uri în format (Simple Plugin API) și capacitatea de a crea plugin-uri care funcționează în timp real 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.
Sursa: opennet.ro
