Serverul multimedia PipeWire 0.3 este disponibil, înlocuind PulseAudio

publicat lansare semnificativă a proiectului PipeWire 0.3.0, dezvoltând un server multimedia de nouă generație pentru a înlocui PulseAudio. PipeWire extinde capacitățile PulseAudio cu capabilități de streaming video, procesare audio cu latență scăzută și un nou model de securitate pentru controlul accesului la nivel de dispozitiv și de flux. Proiectul este acceptat în GNOME și este deja utilizat activ în Fedora Linux pentru înregistrarea ecranului și partajarea ecranului în medii bazate pe Wayland. Codul proiectului este scris în C și distribuit de licențiat conform LGPLv2.1.

Principalul modificări în PipeWire 0.3:

  • Programatorul de procesare a firelor a fost complet reproiectat. Modificările au făcut posibilă rularea unui strat pentru a asigura compatibilitatea cu serverul de sunet JACK, a cărui performanță este comparabilă cu JACK2.
  • Reprelucrat și declarat stabil API. Toate modificările ulterioare ale API-ului sunt planificate să fie făcute fără a întrerupe compatibilitatea cu aplicațiile existente.
  • Include un manager de sesiune care vă permite să gestionați graficul nodurilor multimedia în PipeWire, precum și să adăugați fluxuri noi. Deocamdată, managerul oferă doar un set simplu de funcții de bază, iar în viitor acesta va fi extins sau înlocuit cu o opțiune mai funcțională și mai flexibilă, cum ar fi WirePlumber.
  • Bibliotecile incluse au fost îmbunătățite pentru a oferi compatibilitate cu PulseAudio, JACK și ALSA, permițând PipeWire să fie utilizat cu aplicațiile existente concepute pentru a funcționa cu alte sisteme audio. Biblioteca pentru ALSA este aproape gata, dar bibliotecile pentru JACK și PulseAudio încă necesită lucru. PipeWire nu este încă pregătit să înlocuiască complet PulseAudio și JACK, dar problemele de compatibilitate vor fi o prioritate în versiunile viitoare.
  • Sunt incluse câteva pluginuri GStreamer pentru interacțiunea cu PipeWire. Pluginul pipewiresrc, care folosește PipeWire ca sursă audio, funcționează fără probleme în majoritatea situațiilor. Pluginul pipewiresink pentru ieșirea audio prin PipeWire nu are încă unele probleme cunoscute.
  • Suport PipeWire 0.3 integrat în managerul de ferestre Mutter dezvoltat de proiectul GNOME.

Să vă reamintim că PipeWire extinde domeniul de aplicare al PulseAudio prin procesarea oricăror fluxuri multimedia și este capabil să amestece și să redirecționeze fluxurile video. PipeWire oferă, de asemenea, capabilități de control al surselor video, cum ar fi dispozitivele de captură video, camerele web sau conținutul ecranului aplicației. De exemplu, PipeWire permite mai multor aplicații webcam să lucreze împreună și rezolvă problemele legate de captarea securizată a ecranului și accesul la ecran la distanță în mediul Wayland.

PipeWire poate acționa și ca un server audio, oferind o latență minimă și combinând funcționalitatea PulseAudio и JACK, inclusiv luând în considerare nevoile sistemelor profesionale de procesare audio, pe care PulseAudio nu le-a putut pretinde. În plus, PipeWire oferă un model avansat de securitate care permite controlul accesului la nivel de dispozitiv și de flux și facilitează rutarea audio și video către și din containere izolate. Unul dintre obiectivele principale este de a susține aplicații Flatpak autonome și de a rula pe o stivă de grafică bazată pe Wayland.

Principalul oportunități:

  • Capturați și redați conținut audio și video cu întârzieri minime;
  • Instrumente de procesare video și audio în timp real;
  • Arhitectură multiproces care vă permite să organizați accesul partajat la conținutul mai multor aplicații;
  • Un model de procesare bazat pe un grafic de noduri multimedia cu suport pentru bucle de feedback și actualizări ale graficului atomic. Este posibil să se conecteze handlere atât în ​​interiorul serverului, cât și la pluginuri externe;
  • O interfață eficientă pentru accesarea fluxurilor video prin transferul de descriptori de fișiere și accesarea audio prin buffer-uri de apel partajate;
  • Abilitatea de a procesa date multimedia din orice proces;
  • 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 capacitatea de a crea plugin-uri care funcționează greu în timp real;
  • Sistem flexibil pentru coordonarea formatelor multimedia utilizate și alocarea bufferelor;
  • Utilizarea unui singur proces de fundal pentru a ruta audio și video. Capacitatea de a lucra sub forma unui server audio, un hub pentru furnizarea video aplicațiilor (de exemplu, pentru API-ul gnome-shell screencast) și un server pentru gestionarea accesului la dispozitivele hardware de captură video.

Sursa: opennet.ru

Adauga un comentariu