Der Multimedia-Server PipeWire 1.2.0 wurde veröffentlicht.

Nach sieben Monaten Entwicklung wurde der neue stabile Branch des Multimedia-Servers PipeWire 1.2.0 veröffentlicht, der den Sound-Server PulseAudio ersetzt und sich durch die Hinzufügung von Funktionen zur Arbeit mit Video-Streams, der Möglichkeit zur Verarbeitung von Ton mit minimalen Latenzen und einem neuen Sicherheitsmodell zur Verwaltung des Zugriffs auf der Ebene einzelner Geräte und Streams unterscheidet. Das Projekt wird in GNOME unterstützt und standardmäßig in Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE und vielen anderen Linux-Distributionen verwendet. Der Code des Projekts ist in der Programmiersprache C geschrieben und steht unter der LGPLv2.1-Lizenz.

PipeWire basiert auf einer Multi-Process-Architektur, die den gemeinsamen Zugriff auf Inhalte mehrerer Anwendungen ermöglicht.
Es bietet Möglichkeiten zur Verarbeitung beliebiger Multimedia-Streams, Mischung und Umleitung von Video-Streams sowie zur Verwaltung von Videoquellen wie Videoaufnahmegeräten, Webcams oder Inhalten, die von Anwendungen auf dem Bildschirm ausgegeben werden. Beispielsweise ermöglicht PipeWire die gemeinsame Nutzung einer Webcam durch mehrere Anwendungen und löst Probleme mit dem sicheren Erfassen von Bildschirminhalten und dem Remote-Zugriff auf den Bildschirm in einer Wayland-Umgebung.

Wenn es als Sound-Server verwendet wird, kann PipeWire minimale Latenzen gewährleisten und eine Funktionalität bereitstellen, die die Möglichkeiten von PulseAudio und JACK kombiniert, einschließlich der Berücksichtigung der Anforderungen professioneller Audioverarbeitungssysteme, die PulseAudio nicht erfüllen konnte. Darüber hinaus bietet PipeWire ein erweitertes Sicherheitsmodell, das die Verwaltung des Zugriffs auf der Ebene einzelner Geräte und bestimmter Streams ermöglicht und die Organisation des Durchleitens von Ton und Video aus und in isolierte Container erleichtert. Eines der Hauptziele ist die Unterstützung von eigenständigen Anwendungen im Flatpak-Format und die Arbeit im grafischen Stack auf Basis von Wayland.

In der neuen Version:

  • In das Modell der Datenstromverarbeitung auf Basis eines Knotengraphen wurde die Unterstützung für asynchrone Verarbeitung eingefügt, bei der der Knotengraph nicht blockiert, wenn von einem bestimmten Knoten keine Ausgabe erfolgt, sondern weiterarbeitet und Daten von einem Knoten verwendet, die im vorherigen Zyklus erhalten wurden. Dadurch gelingt es, durch eine Zyklusverzögerung zu vermeiden, dass ein Knoten die Arbeit der anderen Knoten im Graphen blockiert.
  • Das Konzept der synchronisierten Knotengruppen (node.sync-group) wurde umgesetzt, das die gleichzeitige Aktivierung von Knotengruppen durch den Scheduler ermöglicht. Diese Funktion kann verwendet werden, um die Aktivierung von Knoten beim Start des JACK-Transports gleichzeitig zu planen.
  • Die Ausgabe von Fehlerinformationen in der Konfigurationsdatei wurde verbessert, mit einem Hinweis auf den Ort, an dem der Fehler in den Einstellungen aufgetreten ist (Zeilennummer und Position in der Zeile).
  • Die Unterstützung der Explicit Sync-Technologie wurde hinzugefügt, die es Anwendungen ermöglicht, den Kompositionsmanager basierend auf dem Wayland-Protokoll über die Bereitschaft der Anzeige eines Frames zu informieren, was zu einer Verringerung der Latenz und der Vermeidung von Artefakten bei der grafischen Ausgabe führt. Insbesondere löst Explicit Sync Probleme mit der Ausgabe und dem Einfrieren auf Systemen mit NVIDIA-GPU und aktivierter Wayland-Unterstützung.
  • Es wurde die Möglichkeit implementiert, erforderliche Metadaten bei der Abstimmung der Bufferparameter zu definieren, die zur Unterstützung von "Explicit Sync" verwendet werden.
  • Die Unterstützung für die Erstellung und Nutzung mehrerer Datenverarbeitungsschleifen (data-loop) im Client wurde hinzugefügt und Server. In die Datenverarbeitungsschleifen wurden Möglichkeiten zur Bindung an bestimmte CPU-Kerne und zur Festlegung von Prioritäten integriert.
  • Es wurde die Möglichkeit bereitgestellt, die Debugging-Ebenen, die die Ausgabe von Informationen in das Log steuern, ohne Neustart mithilfe von Metadaten zu ändern.
  • Die Logik zur Verknüpfung von Peers (Knoten im Datenstromgraphen, die externe Datenquellen oder -empfänger definieren) wurde überarbeitet.
  • Patches zum Umgang mit als konfliktbehaftet gekennzeichneten Geräten über ALSA UCM (Use Case Manager) wurden angenommen.
  • Das Modul snapcast-discover wurde hinzugefügt, um Inhalte in Server SnapCast zu streamen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4