Multimediaserver PipeWire 0.3 is beschikbaar, ter vervanging van PulseAudio

gepubliceerd aanzienlijke projectrelease PipeWire 0.3.0, het ontwikkelen van een nieuwe generatie multimediaserver ter vervanging van PulseAudio. PipeWire breidt de mogelijkheden van PulseAudio uit met videostreamverwerking, audioverwerking met lage latentie en een nieuw beveiligingsmodel voor toegangscontrole op apparaat- en streamniveau. Het project wordt ondersteund in GNOME en wordt al actief gebruikt in Fedora Linux voor schermopname en schermdeling in Wayland-gebaseerde omgevingen. De projectcode is geschreven in C en gedistribueerd door gelicentieerd onder LGPLv2.1.

De belangrijkste veranderingen in PipeWire 0.3:

  • De threadverwerkingsplanner is volledig opnieuw ontworpen. De veranderingen maakten het mogelijk om een ​​laag uit te voeren om compatibiliteit met de JACK-geluidsserver te garanderen, waarvan de prestaties vergelijkbaar zijn met JACK2.
  • Herwerkt en stabiel verklaard API. Het is de bedoeling dat alle verdere wijzigingen aan de API worden doorgevoerd zonder de achterwaartse compatibiliteit met bestaande applicaties te verbreken.
  • Het bevat een sessiemanager waarmee u de grafiek van multimediaknooppunten in PipeWire kunt beheren en nieuwe streams kunt toevoegen. Voorlopig biedt de manager slechts een eenvoudige set basisfuncties en in de toekomst zal deze worden uitgebreid of vervangen door een meer functionele en flexibele optie, zoals DraadLoodgieter.
  • De meegeleverde bibliotheken zijn verbeterd om compatibiliteit te bieden met PulseAudio, JACK en ALSA, waardoor PipeWire kan worden gebruikt met bestaande applicaties die zijn ontworpen om met andere audiosystemen te werken. De bibliotheek voor ALSA is bijna klaar, maar aan de bibliotheken voor JACK en PulseAudio is nog werk nodig. PipeWire is nog niet klaar om PulseAudio en JACK volledig te vervangen, maar compatibiliteitsproblemen zullen een prioriteit zijn in toekomstige releases.
  • Inbegrepen zijn enkele GStreamer-plug-ins voor interactie met PipeWire. De pipewiresrc plugin, die PipeWire als audiobron gebruikt, werkt in de meeste situaties zonder problemen. De pipewiresink-plug-in voor audio-uitvoer via PipeWire kent nog geen enkele bekende problemen.
  • PipeWire 0.3-ondersteuning geïntegreerd in de Mutter-vensterbeheerder ontwikkeld door het GNOME-project.

Laten we u eraan herinneren dat PipeWire de reikwijdte van PulseAudio uitbreidt door alle multimediastreams te verwerken en videostreams kan mixen en omleiden. PipeWire biedt ook mogelijkheden om videobronnen te bedienen, zoals video-opnameapparatuur, webcamera's of de inhoud van applicatieschermen. PipeWire zorgt er bijvoorbeeld voor dat meerdere webcamapplicaties kunnen samenwerken en lost problemen op met veilige schermopname en externe schermtoegang in de Wayland-omgeving.

PipeWire kan ook fungeren als audioserver, waardoor minimale latentie wordt geboden en functionaliteit wordt gecombineerd PulseAudio и JACK, inclusief het rekening houden met de behoeften van professionele audioverwerkingssystemen, waarop PulseAudio geen aanspraak kon maken. Daarnaast biedt PipeWire een geavanceerd beveiligingsmodel dat toegangscontrole op apparaat- en streamniveau mogelijk maakt, en het gemakkelijker maakt om audio en video van en naar geïsoleerde containers te routeren. Een van de belangrijkste doelen is het ondersteunen van op zichzelf staande Flatpak-applicaties en deze te laten draaien op een op Wayland gebaseerde grafische stapel.

De belangrijkste mogelijkheden:

  • Audio en video opnemen en afspelen met minimale vertraging;
  • Tools voor het in realtime verwerken van video en audio;
  • Multiprocesarchitectuur waarmee u gedeelde toegang tot de inhoud van verschillende applicaties kunt organiseren;
  • Een verwerkingsmodel gebaseerd op een grafiek van multimediaknooppunten met ondersteuning voor feedbackloops en atomaire grafiekupdates. Het is mogelijk om handlers zowel binnen de server als externe plug-ins aan te sluiten;
  • Een efficiënte interface voor toegang tot videostreams via de overdracht van bestandsdescriptors en toegang tot audio via gedeelde ringbuffers;
  • Mogelijkheid om multimediagegevens vanuit elk proces te verwerken;
  • Beschikbaarheid van een plug-in voor GStreamer om de integratie met bestaande applicaties te vereenvoudigen;
  • Ondersteuning voor geïsoleerde omgevingen en Flatpak;
  • Ondersteuning voor plug-ins in het formaat SPA (Simple Plugin API) en de mogelijkheid om plug-ins te maken die in realtime werken;
  • Flexibel systeem voor het coördineren van gebruikte multimediaformaten en het toewijzen van buffers;
  • Eén enkel achtergrondproces gebruiken om audio en video te routeren. De mogelijkheid om te werken in de vorm van een audioserver, een hub voor het leveren van video aan applicaties (bijvoorbeeld voor de gnome-shell screencast API) en een server voor het beheren van de toegang tot hardware-video-opnameapparaten.

Bron: opennet.ru

Voeg een reactie