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

Veröffentlicht bedeutende Veröffentlichung des Projekts PipeWire 0.3.0, das einen Multimedia-Server der nächsten Generation entwickelt, der PulseAudio ersetzen soll. PipeWire erweitert die Möglichkeiten von PulseAudio um Funktionen zur Verarbeitung von Video-Streams, die Möglichkeit der Audioverarbeitung mit minimalen Latenzen und ein neues Sicherheitsmodell zur Verwaltung des Zugriffs auf der Ebene einzelner Geräte und Streams. Das Projekt wird in GNOME unterstützt und wird bereits aktiv in Fedora Linux für die Bildschirmaufnahme (Screencasting) und den gemeinsamen Bildschirmzugriff in Umgebungen basierend auf Wayland eingesetzt. Der Code des Projekts ist in C geschrieben und wird verbreitet unter LGPLv2.1 lizenziert.

Haupt- Änderungen in PipeWire 0.3:

  • Der Scheduler zur Verarbeitung von Streams wurde vollständig überarbeitet. Die Änderungen ermöglichen den Start einer Schicht, um die Kompatibilität mit dem Soundserver JACK zu gewährleisten, dessen Leistung mit JACK2 vergleichbar ist.
  • Überarbeitet und als stabil deklariert API. Alle zukünftigen Änderungen an der API sollen erfolgen, ohne die Rückwärtskompatibilität mit bestehenden Anwendungen zu verletzen.
  • In das Paket wurde ein Sitzungsmanager integriert, der es ermöglicht, den Graphen der Multimedia-Knoten in PipeWire zu verwalten und neue Streams hinzuzufügen. Der Manager bietet bisher nur eine Grundmenge an Funktionen und wird in Zukunft erweitert oder durch eine funktionalere und flexiblere Variante ersetzt, wie zum Beispiel WirePlumber.
  • Die in die Bibliothek integrierten Verbesserungen zur Gewährleistung der Kompatibilität mit PulseAudio, JACK und ALSA ermöglichen die Verwendung von PipeWire mit bestehenden Anwendungen, die für die Arbeit mit anderen Audiosystemen ausgelegt sind. Die Bibliothek für ALSA ist bereits fast fertig, aber die Bibliotheken für JACK und PulseAudio erfordern noch Anpassungen. PipeWire ist noch nicht bereit für einen vollständigen Ersatz von PulseAudio und JACK, aber zukünftige Releases werden die Kompatibilität prioritär behandeln.
  • Das Paket enthält einige GStreamer-Plugins zur Interaktion mit PipeWire. Das Plugin pipewiresrc, das PipeWire als Audioquelle nutzt, funktioniert in den meisten Situationen problemlos. Das Plugin pipewiresink zum Ausgeben von Audio über PipeWire hat jedoch noch einige bekannte Probleme.
  • Unterstützung für PipeWire 0.3 integriert in den Fenstermanager Mutter, der vom GNOME-Projekt entwickelt wird.

Erinnern wir uns daran, dass PipeWire den Anwendungsbereich von PulseAudio erweitert, indem es die Verarbeitung sämtlicher Multimedia-Streams übernimmt und in der Lage ist, Video-Streams zu mischen und umzuleiten. PipeWire bietet auch Möglichkeiten zur Verwaltung von Videoquellen wie Videoaufnahmegeräten, Webcams oder Inhalten, die von Anwendungen auf dem Bildschirm ausgegeben werden. Zum Beispiel ermöglicht PipeWire die gleichzeitige Nutzung mehrerer Anwendungen mit einer Webcam und löst Probleme mit dem sicheren Erfassen von Bildschirminhalten und dem Fernzugriff auf den Bildschirm in einer Wayland-Umgebung.

PipeWire kann auch als Soundserver fungieren und dabei minimale Latenzen bieten sowie Funktionen bereitstellen, die die Möglichkeiten kombinieren. PulseAudio und JACK, einschließlich der Berücksichtigung der Bedürfnisse professioneller Audiobearbeitungssysteme, auf die PulseAudio keinen Anspruch erheben konnte. Darüber hinaus bietet PipeWire ein erweitertes Sicherheitsmodell, das den Zugriff auf Geräteebene und spezifische Streams ermöglicht und die Weiterleitung von Audio und Video aus und in isolierte Container vereinfacht. Eines der Hauptziele ist die Unterstützung von eigenständigen Anwendungen im Flatpak-Format und die Zusammenarbeit im Grafik-Stack auf Basis von Wayland.

Haupt- Möglichkeiten:

  • Erfassung und Wiedergabe von Audio und Video mit minimalen Latenzen;
  • Werkzeuge zur Echtzeitverarbeitung von Video und Audio;
  • Multithread-Architektur, die eine gemeinsame Nutzung von Inhalten mehrerer Anwendungen ermöglicht;
  • Verarbeitung von Multimedia-Knotengrafen mit Unterstützung für Rückkopplungsschleifen und atomare Updates des Grafen. Es ist möglich, Handler sowohl innerhalb des Servers als auch externe Plugins anzuschließen.
  • Effiziente Schnittstelle zum Zugriff auf Video-Streams durch die Übertragung von Dateideskriptoren und den Zugriff auf Audio über gemeinsam genutzte Ringpuffer (shared ringbuffer).
  • Fähigkeit zur Verarbeitung von Multimedia-Daten aus beliebigen Prozessen.
  • Verfügbarkeit eines Plugins für GStreamer zur Vereinfachung der Integration mit bestehenden Anwendungen.
  • Unterstützung für isolierte Umgebungen und Flatpak.
  • Unterstützung für Plugins im Format SPA (Simple Plugin API) und die Möglichkeit zur Erstellung von Plugins, die im Echtzeitzugriff betrieben werden;
  • Flexibles System zur Abstimmung der verwendeten Multimedia-Formate und zur Pufferzuweisung.
  • Nutzung eines Hintergrundprozesses zur Routen von Audio und Video. Möglichkeit, als Audio-Server, Hub für die Bereitstellung von Videoanwendungen (z.B. für die gnome-shell screencast API) und Server zur Verwaltung des Zugriffs auf Hardwaregeräte zur Videoaufnahme zu arbeiten.

Quelle: opennet.ru

60GB SSD 8Gb DDR4