Der Multimedia-Server PipeWire 0.3 ist verfügbar und ersetzt PulseAudio

Veröffentlicht bedeutende Projektveröffentlichung PipeWire 0.3.0, Entwicklung eines Multimedia-Servers der neuen Generation als Ersatz für PulseAudio. PipeWire erweitert die Fähigkeiten von PulseAudio um Videostream-Verarbeitung, Audioverarbeitung mit geringer Latenz und ein neues Sicherheitsmodell für die Zugriffskontrolle auf Geräte- und Stream-Ebene. Das Projekt wird in GNOME unterstützt und wird in Fedora Linux bereits aktiv zur Bildschirmaufzeichnung und Bildschirmfreigabe in Wayland-basierten Umgebungen eingesetzt. Der Projektcode ist in C geschrieben und vertrieben von lizenziert unter LGPLv2.1.

Haupt- Veränderungen in PipeWire 0.3:

  • Der Thread-Verarbeitungsplaner wurde komplett neu gestaltet. Durch die Änderungen war es möglich, einen Layer auszuführen, um die Kompatibilität mit dem JACK-Soundserver sicherzustellen, dessen Leistung mit JACK2 vergleichbar ist.
  • Überarbeitet und für stabil erklärt API. Alle weiteren Änderungen an der API sollen ohne Beeinträchtigung der Abwärtskompatibilität mit bestehenden Anwendungen erfolgen.
  • Es enthält einen Sitzungsmanager, mit dem Sie das Diagramm der Multimedia-Knoten in PipeWire verwalten und neue Streams hinzufügen können. Derzeit bietet der Manager nur einfache Grundfunktionen und wird in Zukunft durch eine funktionalere und flexiblere Option erweitert oder ersetzt, z WirePlumber.
  • Die enthaltenen Bibliotheken wurden verbessert, um Kompatibilität mit PulseAudio, JACK und ALSA zu gewährleisten, sodass PipeWire mit vorhandenen Anwendungen verwendet werden kann, die für die Zusammenarbeit mit anderen Audiosystemen entwickelt wurden. Die Bibliothek für ALSA ist fast fertig, aber die Bibliotheken für JACK und PulseAudio erfordern noch Arbeit. PipeWire ist noch nicht bereit, PulseAudio und JACK vollständig zu ersetzen, Kompatibilitätsprobleme werden jedoch in zukünftigen Versionen Priorität haben.
  • Im Lieferumfang sind einige GStreamer-Plugins für die Interaktion mit PipeWire enthalten. Das Plugin „pipewiresrc“, das PipeWire als Audioquelle nutzt, funktioniert in den meisten Situationen problemlos. Das Pipewiresink-Plugin für die Audioausgabe über PipeWire weist einige bekannte Probleme noch nicht auf.
  • PipeWire 0.3-Unterstützung integriert in den vom GNOME-Projekt entwickelten Mutter-Fenstermanager.

Wir möchten Sie daran erinnern, dass PipeWire den Umfang von PulseAudio durch die Verarbeitung beliebiger Multimedia-Streams erweitert und in der Lage ist, Video-Streams zu mischen und umzuleiten. PipeWire bietet außerdem Funktionen zur Steuerung von Videoquellen wie Videoaufnahmegeräten, Webkameras oder Bildschirminhalten von Anwendungen. PipeWire ermöglicht beispielsweise die Zusammenarbeit mehrerer Webcam-Anwendungen und löst Probleme mit der sicheren Bildschirmaufnahme und dem Remote-Bildschirmzugriff in der Wayland-Umgebung.

PipeWire kann auch als Audioserver fungieren, was für minimale Latenz und kombinierte Funktionalität sorgt Pulseaudio и JACK, einschließlich der Berücksichtigung der Anforderungen professioneller Audioverarbeitungssysteme, die PulseAudio nicht behaupten konnte. Darüber hinaus bietet PipeWire ein fortschrittliches Sicherheitsmodell, das eine Zugriffskontrolle auf Geräte- und Stream-Ebene ermöglicht und die Weiterleitung von Audio und Video zu und von isolierten Containern erleichtert. Eines der Hauptziele besteht darin, eigenständige Flatpak-Anwendungen zu unterstützen und auf einem Wayland-basierten Grafikstapel auszuführen.

Haupt- Fähigkeiten:

  • Audio und Video mit minimalen Verzögerungen aufnehmen und wiedergeben;
  • Tools zur Verarbeitung von Video und Audio in Echtzeit;
  • Multiprozessarchitektur, die es Ihnen ermöglicht, den gemeinsamen Zugriff auf den Inhalt mehrerer Anwendungen zu organisieren;
  • Ein Verarbeitungsmodell basierend auf einem Diagramm von Multimedia-Knoten mit Unterstützung für Rückkopplungsschleifen und atomare Diagrammaktualisierungen. Es ist möglich, Handler sowohl innerhalb des Servers als auch externe Plugins anzuschließen;
  • Eine effiziente Schnittstelle für den Zugriff auf Videostreams durch die Übertragung von Dateideskriptoren und den Zugriff auf Audio über gemeinsam genutzte Ringpuffer;
  • Fähigkeit, Multimediadaten aus beliebigen Prozessen zu verarbeiten;
  • Verfügbarkeit eines Plugins für GStreamer zur Vereinfachung der Integration in bestehende Anwendungen;
  • Unterstützung für isolierte Umgebungen und Flatpak;
  • Unterstützung für Plugins im Format SPA (Simple Plugin API) und die Möglichkeit, Plugins zu erstellen, die in harter Echtzeit arbeiten;
  • Flexibles System zur Koordination verwendeter Multimediaformate und Pufferzuweisung;
  • Verwendung eines einzigen Hintergrundprozesses zum Weiterleiten von Audio und Video. Die Fähigkeit, in Form eines Audioservers, eines Hubs zur Bereitstellung von Videos für Anwendungen (z. B. für die Gnome-Shell-Screencast-API) und eines Servers zur Verwaltung des Zugriffs auf Hardware-Videoaufnahmegeräte zu arbeiten.

Source: opennet.ru

Kommentar hinzufügen