La version du projet PipeWire 0.3.33 a été publiée, développant un serveur multimédia de nouvelle génération qui remplace PulseAudio. PipeWire élargit les possibilités de PulseAudio avec des outils pour gérer les flux vidéo, une capacité de traitement sonore avec des latences minimales, et un nouveau modèle de sécurité pour gérer l'accès au niveau des appareils et des flux individuels. Le projet est soutenu par GNOME et est déjà utilisé par défaut dans Fedora Linux. Le code du projet est écrit en C et est distribué sous la licence LGPLv2.1.
Les principales modifications dans PipeWire 0.3.33 :
- La possibilité de basculement automatique entre les profils Bluetooth HSP (mode casque) et A2DP (sortie audio haute qualité) a été mise en œuvre.
- Le profil Pro Audio a amélioré le support des sources virtuelles et des dispositifs de sortie audio.
- L'accord des modificateurs de format lors de l'utilisation conjointe des buffers d'accès direct à la mémoire (DMA-BUF) par plusieurs clients a été amélioré.
- Dans la section des nœuds multimédias, le support de l'utilisation simultanée de plusieurs fréquences d'échantillonnage a été implémenté (désactivé par défaut).
- Dans la couche de compatibilité avec PulseAudio, un module module-switch-on-connect a été introduit pour émuler le comportement de PulseAudio lors de la connexion de nouveaux appareils.
Rappelons que PipeWire étend le champ d'application de PulseAudio en traitant tout type de flux multimédia, capable de mélanger et de rediriger les flux vidéo. PipeWire offre également des fonctionnalités de gestion des sources vidéo, telles que les dispositifs de capture vidéo, les caméras web ou le contenu d'écran produit par les applications. Par exemple, PipeWire permet aux plusieurs applications de collaborer sur une webcam et résout les problèmes de capture sécurisée du contenu d'écran et d'accès à distance à celui-ci dans un environnement Wayland.
PipeWire peut également agir en tant que serveur audio de serveurs, offrant des latences minimales et fournissant une fonctionnalité combinant les capacités de PulseAudio et de JACK, tout en tenant compte des besoins des systèmes de traitement audio professionnels, ce que PulseAudio ne pouvait pas revendiquer. De plus, 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, facilitant le passage de l'audio et de la vidéo dans et hors des conteneurs isolés. L'un des principaux objectifs est de soutenir des applications autonomes au format Flatpak et de fonctionner dans une pile graphique basée sur Wayland.
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
