{"id":2233,"date":"2023-11-28T17:26:48","date_gmt":"2023-11-28T17:26:48","guid":{"rendered":"https:\/\/byte-bucket.com\/2023\/11\/28\/pipewire-1-0-multimedia-framework-mit-verbessertem-streaming-und-latenz\/"},"modified":"2023-11-28T17:26:48","modified_gmt":"2023-11-28T17:26:48","slug":"pipewire-1-0-multimedia-framework-mit-verbessertem-streaming-und-latenz","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=2233","title":{"rendered":"Pipewire 1.0: Multimedia-Framework mit verbessertem Streaming und Latenz"},"content":{"rendered":"<p>Pipewire hat in den letzten Monaten gro\u00dfe Fortschritte gemacht und der Hauptentwickler Wim Taymans hat dem Multimedia-Framework stolz die Versionsnummer 1.0 verliehen. Das ist ein gro\u00dfer Schritt im Vergleich zur vorherigen Version 0.3.85. Taymans, der eine ma\u00dfgebliche Rolle in dem Projekt spielt, betont, dass Pipewire in drei Bereichen entscheidende Reife erlangt hat.<\/p>\n<p>Eine der bemerkenswertesten Verbesserungen betrifft die Latenz. Als Alternative zur JACK Audio-Schnittstelle, die vor allem in der professionellen Musikproduktion genutzt wird, konnte Pipewire die Latenz deutlich reduzieren. Sie haben sogar den standardisierten Stress-Test f\u00fcr JACK erfolgreich bestanden. Das erforderte einige Anpassungen am Speichermanagement und Scheduler. Es fehlen zwar noch zwei wichtige Komponenten, n\u00e4mlich die Unterst\u00fctzung f\u00fcr das netJACK2-Protokoll, um die Audioschnittstelle \u00fcber ein Netzwerk zu nutzen, sowie ein Firewire-Audio-Treiber, aber insgesamt kann man sagen, dass Pipewire auf dem richtigen Weg ist.<\/p>\n<p>Pipewire hat auch den Platz von Pulseaudio auf den g\u00e4ngigen Linux-Desktops eingenommen und ahmt dessen Eigenheiten nun genau nach. Zus\u00e4tzlich bietet es weitere Codecs wie mSBC und den neuen Bluetooth-Codec LC3. Die Kompatibilit\u00e4t mit Pulseaudio war jedoch schwieriger als mit JACK Audio. Aufgrund seiner weniger strengen Struktur zeigt Pulseaudio oft eigenwilliges Verhalten in Bezug auf Puffergr\u00f6\u00dfen, Timeouts und Latenzen. Das erforderte viele kleine Anpassungen im Code von Pipewire, um es zu einem vollst\u00e4ndig kompatiblen Ersatz zu machen.<\/p>\n<p>Aber Pipewire ist nicht nur im Audiobereich stark, sondern hat auch in der Behandlung von Videostreams gro\u00dfe Fortschritte gemacht. Urspr\u00fcnglich wurde es 2015 f\u00fcr diesen Zweck entwickelt und es wurde viel Arbeit in die Integration von Kameras \u00fcber den Libcamera-Stack investiert. So erhielt Firefox im Sommer 2023 erstmals experimentelle Unterst\u00fctzung f\u00fcr den Zugriff auf die Webcam \u00fcber Pipewire, um Videokonferenzen im Webbrowser zu erm\u00f6glichen. Jetzt k\u00f6nnen Videostreams genauso wie Audiostreams geroutet werden und Steuerungssoftware wie Helvum und qpwgraph, die eine grafische, virtuelle Patchbay anzeigen, funktionieren auch mit Videostreams.<\/p>\n<p>Mit Pipewire 1.0 und den dazugeh\u00f6rigen Filtern ist es bereits m\u00f6glich, die Soundausgabe \u00fcber mehrere Ausg\u00e4nge mit einem 3D-Effekt zu erweitern und gleichzeitig Equalizer, Delay und Nachhall nahezu in Echtzeit und ohne sp\u00fcrbare Verz\u00f6gerungen hinzuzuf\u00fcgen. Die Entwickler haben auch Pl\u00e4ne, die Filterketten in kommenden Versionen weiter auszubauen und sie sogar auf Videostreams mit Vulkan anzuwenden.<\/p>\n<p>Auf lange Sicht strebt Pipewire an, sich als zuverl\u00e4ssige und \u00e4u\u00dferst leistungsstarke Alternative zu den bisher vor allem von Anwendungen genutzten Wrappern f\u00fcr Pulseaudio und JACK zu etablieren. Daf\u00fcr wurde Pipewire mit Wireplumber ausgestattet, einem Sessionmanager, der vordefinierte, eventgesteuerte Richtlinien verwendet. Dadurch k\u00f6nnen Audiostreams unterschiedliche Priorit\u00e4ten erhalten und die Erlaubnis erhalten, unterbrochen zu werden. Wireplumber wird von Collabora entwickelt und in der bevorstehenden Ausgabe 0.5 von Pipewire ist die Implementierung eines \u00fcberarbeiteten Eventsystems geplant, das eine sp\u00fcrbare Verbesserung der Performance und Latenz bringen wird.<\/p>\n<p>Pipewire hat bereits gro\u00dfe Aufmerksamkeit auf dem Linux-Desktop erregt und als Soundserver viele Probleme der bisherigen Audiokomponenten effektiv gel\u00f6st. Die Vorteile von geringeren Latenzen und einer reduzierten Nutzung von Systemressourcen haben dazu gef\u00fchrt, dass Pipewire schnell in verschiedenen Linux-Distributionen implementiert wurde. Fedora Linux 34 hat Pipewire bereits vor mehr als zwei Jahren als Ersatz f\u00fcr Pulseaudio \u00fcbernommen. Arch Linux, Ubuntu 22.10 und Debian 12 folgten, nachdem die Vorteile schnell erkennbar waren. Sogar die urspr\u00fcnglichen Entwickler von Pulseaudio und JACK begr\u00fc\u00dfen das neue Projekt ausdr\u00fccklich. Paul David von JACK Audio betont, dass Pipewire die besten Eigenschaften von professionellen und Desktop-Soundservern vereint.<\/p>\n<p>Insgesamt hat Pipewire eine vielversprechende Zukunft vor sich und wir k\u00f6nnen gespannt sein, welche weiteren Fortschritte und Verbesserungen in den kommenden Versionen auf uns warten.<\/p>\n<p>Schlagw\u00f6rter: Pipewire + MultimediaFramework + AudioVerbesserungen<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pipewire hat in den letzten Monaten gro\u00dfe Fortschritte gemacht und der Hauptentwickler Wim Taymans hat dem Multimedia-Framework stolz die Versionsnummer 1.0 verliehen. Das ist ein gro\u00dfer Schritt im Vergleich zur vorherigen Version 0.3.85. Taymans, der eine ma\u00dfgebliche Rolle in dem Projekt spielt, betont, dass Pipewire in drei Bereichen entscheidende Reife&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":2232,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2233","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/2233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2233"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/2233\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/2232"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}