Le serveur multimédia PipeWire 0.3 est disponible, en remplacement de PulseAudio

Publié sortie de projet importante PipeWire 0.3.0, développant un serveur multimédia nouvelle génération pour remplacer PulseAudio. PipeWire étend les capacités de PulseAudio avec un traitement de flux vidéo, un traitement audio à faible latence et un nouveau modèle de sécurité pour le contrôle d'accès au niveau des appareils et des flux. Le projet est pris en charge dans GNOME et est déjà activement utilisé dans Fedora Linux pour l'enregistrement d'écran et le partage d'écran dans les environnements basés sur Wayland. Le code du projet est écrit en C et distribué par sous licence LGPLv2.1.

principal changements dans PipeWire 0.3 :

  • Le planificateur de traitement des threads a été entièrement repensé. Les modifications ont permis d'exécuter une couche pour assurer la compatibilité avec le serveur de son JACK dont les performances sont comparables à JACK2.
  • Retravaillé et déclaré stable API. Il est prévu que toutes les modifications ultérieures apportées à l'API soient apportées sans rompre la compatibilité ascendante avec les applications existantes.
  • Il comprend un gestionnaire de sessions qui vous permet de gérer le graphique des nœuds multimédia dans PipeWire, ainsi que d'ajouter de nouveaux flux. Pour l'instant, le gestionnaire ne fournit qu'un simple ensemble de fonctions de base et, à l'avenir, il sera étendu ou remplacé par une option plus fonctionnelle et flexible, telle que FilPlombier.
  • Les bibliothèques incluses ont été améliorées pour assurer la compatibilité avec PulseAudio, JACK et ALSA, permettant à PipeWire d'être utilisé avec des applications existantes conçues pour fonctionner avec d'autres systèmes audio. La bibliothèque pour ALSA est presque prête, mais les bibliothèques pour JACK et PulseAudio nécessitent encore du travail. PipeWire n'est pas encore prêt à remplacer complètement PulseAudio et JACK, mais les problèmes de compatibilité seront une priorité dans les prochaines versions.
  • Certains plugins GStreamer sont inclus pour interagir avec PipeWire. Le plugin pipewiresrc, qui utilise PipeWire comme source audio, fonctionne sans problème dans la plupart des situations. Le plugin pipewiresink pour la sortie audio via PipeWire n'a pas encore de problèmes connus.
  • Prise en charge de PipeWire 0.3 intégré dans le gestionnaire de fenêtres Mutter développé par le projet GNOME.

Rappelons que PipeWire étend la portée de PulseAudio en traitant n'importe quel flux multimédia et est capable de mélanger et de rediriger les flux vidéo. PipeWire offre également des fonctionnalités pour contrôler les sources vidéo, telles que les appareils de capture vidéo, les caméras Web ou le contenu de l'écran des applications. Par exemple, PipeWire permet à plusieurs applications de webcam de fonctionner ensemble et résout les problèmes de capture d'écran sécurisée et d'accès à l'écran à distance dans l'environnement Wayland.

PipeWire peut également agir comme un serveur audio, offrant une latence minimale et combinant des fonctionnalités PulseAudio и JACK, notamment en prenant en compte les besoins des systèmes de traitement audio professionnels, auxquels PulseAudio ne pouvait prétendre. De plus, PipeWire propose un modèle de sécurité avancé qui permet le contrôle d'accès au niveau de l'appareil et du flux, et facilite l'acheminement de l'audio et de la vidéo vers et depuis des conteneurs isolés. L'un des principaux objectifs est de prendre en charge les applications Flatpak autonomes et de s'exécuter sur une pile graphique basée sur Wayland.

principal capacités:

  • Capturez et lisez de l'audio et de la vidéo avec des délais minimes ;
  • Outils de traitement vidéo et audio en temps réel ;
  • Architecture multiprocessus qui permet d'organiser un accès partagé au contenu de plusieurs applications ;
  • Un modèle de traitement basé sur un graphique de nœuds multimédia avec prise en charge des boucles de rétroaction et des mises à jour de graphiques atomiques. Il est possible de connecter des gestionnaires à la fois à l'intérieur du serveur et à des plugins externes ;
  • Une interface efficace pour accéder aux flux vidéo via le transfert de descripteurs de fichiers et accéder à l'audio via des tampons en anneau partagés ;
  • Capacité à traiter les données multimédias de n'importe quel processus ;
  • Disponibilité d'un plugin pour GStreamer pour simplifier l'intégration avec les applications existantes ;
  • Prise en charge des environnements isolés et Flatpak ;
  • Prise en charge des plugins au format SPA (Simple Plugin API) et la possibilité de créer des plugins qui fonctionnent en temps réel ;
  • Système flexible pour coordonner les formats multimédias utilisés et allouer des tampons ;
  • Utilisation d’un seul processus en arrière-plan pour acheminer l’audio et la vidéo. La possibilité de fonctionner sous la forme d'un serveur audio, d'un hub pour fournir de la vidéo aux applications (par exemple, pour l'API screencast gnome-shell) et d'un serveur pour gérer l'accès aux périphériques matériels de capture vidéo.

Source: opennet.ru

Ajouter un commentaire