PipeWire

PipeWire est un logiciel libre de traitement basse latence et de partage multimédia. Il a pour objectif de remplacer PulseAudio et JACK dans la pile audio Linux au sein de l’environnement GNU/Linux[2],[3], avec une ABI compatible avec à la fois ALSA, JACK et PulseAudio[4], tout en y intégrant GStreamer. Il apporte ainsi à la vidéo les avantages pour le mixage qu'avait PulseAudio pour l'audio[5] et assure la synchronisation entre ces deux types de flux[6]. Il peut complètement remplacer le service PulseAudio depuis la 0.3.16 sortie le [7]. La distribution ArchLinux, propose dans ses dépôts une version de PipeWire se substituant à PulseAudio le [8], cependant la bibliothèque libpulse est toujours utilisée[9].

PipeWire

JACK vu comme un périphérique PulseAudio en novembre 2020, dans PavuControl
Informations
Créateur Wim Taymans (en)
Développé par Red Hat et Wim Taymans (en)
Dernière version 0.3.35 ()[1]
Dépôt gitlab.freedesktop.org/pipewire/pipewire
Écrit en C
Système d'exploitation Type Unix
Environnement Linux
Type Serveur de son (en)
Serveur vidéo
Licence Licence MIT
Documentation docs.pipewire.org et gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home
Site web pipewire.org

Origine du projet

Ce projet a été créé par Wim Taymans (en), un des principaux auteurs de GStreamer, alors qu'il travaillait chez Red Hat. Il le crée initialement sous le nom de Pinos, d'après Pinos de Alhaurín, un petit village proche d'où il vivait, au Sud de l'Espagne[5], il a pris le nom de PipeWire en [6].

Aspects techniques

Modules de PipeWire

PipeWire implémente les fournisseurs et consommateurs vidéo comme des processus distincts, communiquant avec D-Bus et échangent les images de la vidéo à l'aide de descripteurs de fichiers partagés[5]. Il est conçu pour pouvoir fonctionner avec Wayland, ainsi que les protocoles de contrôle de bureaux à distance ou virtuels, RDP et SPICE, et assurer une compatibilité avec les confinements nécessaires aux fonctionnement de logiciels empaquetés au format Flatpak[6].

Automotive Grade Linux (en) de la Fondation Linux a développé un gestionnaire de session pour PipeWire nommé WirePlumber[10].

La bibliothèque libcamera est une bibliothèque fonctionnant dans l'espace utilisateur, permettant d'intégrer les caméras complexes dans les flux de PipeWire. Elle expose pour cela les API des pilotes du noyau à l'espace utilisateur de manière abstraite, afin d'éviter au développeur d'avoir à gérer les aspects spécifiques aux caméra, et de gérer différents flux simultanés et hétérogènes depuis un seul périphérique. Elle permet également d’agréger des formats vidéos différents pour la visioconférence par exemple. Elle permet également, à l'opposé, de partager un seul flux vidéo, simultanément, dans différentes applications[11].

Références

  1. « Release 0.3.35 »
  2. (en) « PipeWire Should Be One Of The Exciting Linux Desktop Technologies For 2019 », sur Phoronix, (consulté le )
  3. (en) « Presentation at the FOSDEM: “PipeWire wants to take over your multimedia” », sur FOSDEM
  4. (en) Christian F.K. Schaller, « PipeWire Late Summer Update 2020 », sur blogs.Gnome.org,
  5. Christian Schaller, « Fedora Workstation next steps : Introducing Pinos », sur Christian F.K. Schaller, (consulté le )
  6. (en) Christian F.K. Schaller, « Launching Pipewire! », sur blogs.gnome.org,
  7. « 0.3.16 release », sur Gitlab de Freedesktop.org,
  8. « 0.17.1 », sur Compte ArchLinux sur Github : « + conflicts=(pulseaudio pulseaudio-bluetooth) »
  9. (en) « Remove pipewire-libpulse », sur gitlab.freedesktop.org : « We use the original pulseaudio client library and the replacement server pipewire-pulse. »
  10. (en) George Kiagiadakis, « WirePlumber, the PipeWire session manager », sur Collabora,
  11. (en) Raghavendra Rao, « Integrating libcamera into PipeWire », sur Collabora,

Articles connexes

Liens externes

  • Portail GNU/Linux
  • Portail de l’informatique
  • Portail de la musique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.