Dans le dépôt où le développement de la version Ubuntu 22.10 est en cours, la transition vers l'utilisation par défaut du serveur multimédia PipeWire pour le traitement audio a été effectuée. Les paquets liés à PulseAudio ont été supprimés des ensembles desktop et desktop-minimal, et pour assurer la compatibilité, une couche fonctionnant au-dessus de PipeWire, pipewire-pulse, a été ajoutée à la place des bibliothèques interagissant avec PulseAudio, permettant ainsi de conserver le fonctionnement de tous les clients existants de PulseAudio.
La décision de passer complètement à PipeWire dans Ubuntu 22.10 a été confirmée par Heather Ellsworth de Canonical. Il est à noter qu'Ubuntu 22.02 utilisait les deux. de serveurs — PipeWire était utilisé pour le traitement vidéo lors de l'enregistrement de screencasts et pour fournir l'accès à l'écran, mais l'audio continuait d'être traité avec PulseAudio. Dans Ubuntu 22.10, seul PipeWire sera utilisé. Il y a deux ans, un changement similaire avait déjà été mis en œuvre dans la distribution Fedora 34, permettant d'offrir des capacités de traitement audio professionnel, d'éliminer la fragmentation et d'unifier l'infrastructure audio pour différentes applications.
PipeWire propose un modèle de sécurité avancé, permettant de gérer l'accès au niveau des appareils individuels et des flux spécifiques, et simplifiant l'organisation du passage de l'audio et de la vidéo depuis et vers des conteneurs isolés. PipeWire peut traiter tous les flux multimédias et est capable de mixer et rediriger non seulement des flux audio, mais aussi des flux vidéo, et de gérer les sources vidéo (appareils de capture vidéo, webcams ou contenu d'écran émis par des applications). PipeWire peut également servir de serveur audio, offrant une latence minimale et combinant les fonctionnalités de PulseAudio et JACK, tout en tenant compte des besoins des systèmes de traitement audio professionnel, que PulseAudio ne pouvait pas satisfaire.
Fonctionnalités principales :
- Capture et lecture audio et vidéo avec des latences minimales;
- Outils pour le traitement vidéo et audio en temps réel;
- Architecture multiprocessus permettant l'accès partagé au contenu de plusieurs applications;
- Modèle de traitement basé sur un graphique de nœuds multimédias, prenant en charge les boucles de rétroaction et les mises à jour atomiques du graphique. L'interconnexion de gestionnaires est autorisée à la fois à l'intérieur du serveur et via des plugins externes;
- Interface efficace d'accès aux flux vidéo à travers le passage de descripteurs de fichiers et accès au son via des tampons circulaires partagés;
- Capacité de traitement des données multimédias depuis n'importe quel processus;
- Disponibilité d'un plugin GStreamer pour faciliter l'intégration avec les applications existantes;
- Prise en charge des environnements isolés et de Flatpak;
- Support des plugins au format SPA (Simple Plugin API) et possibilité de créer des plugins fonctionnant en mode temps réel strict;
- Système flexible d'accord des formats multimédias utilisés et d'allocation de tampons;
- Utilisation d'un seul processus en arrière-plan pour le routage du son et de la vidéo. Capacité à fonctionner sous forme de serveur audio, de hub pour fournir des applications vidéo (par exemple, pour l'API screencast de gnome-shell) et de serveur pour la gestion de l'accès aux périphériques matériels de capture vidéo.
Source : opennet.ru
