Le serveur multimédia PipeWire 1.6.0 a été publié

Après presque un an de développement, une nouvelle branche stable du serveur multimédia PipeWire 1.6.0 a été formée, remplaçant le serveur audio PulseAudio. Ce dernier se distingue par l'ajout d'outils pour le traitement des flux vidéo, la possibilité de traiter l'audio avec un minimum de latence et un nouveau modèle de sécurité pour la gestion des accès au niveau des appareils et des flux individuels. Le projet est appliqué par défaut dans Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE et de nombreuses autres distributions Linux. Le code est écrit en C et distribué sous licence MIT.

PipeWire est basé sur une architecture multiprocessus, permettant l'accès simultané au contenu de plusieurs applications. Il offre la possibilité de traiter tous les flux multimédias, de mélanger et de rediriger les flux vidéo, ainsi que de gérer les sources vidéo telles que les dispositifs de capture vidéo, les webcams ou le contenu de l'écran fourni par les applications. PipeWire permet la collaboration de plusieurs applications avec une webcam et résout les problèmes de capture sécurisée du contenu de l'écran et d'accès distant à l'écran dans un environnement Wayland.

Lorsqu'il est utilisé en tant que serveur audio de serveurs, PipeWire peut garantir des latences minimales et fournir une fonctionnalité combinant les capacités de PulseAudio et JACK, prenant en compte les besoins des systèmes professionnels de traitement audio, un domaine que PulseAudio ne pouvait pas couvrir. PipeWire offre un modèle de sécurité avancé qui permet de gérer l'accès au niveau des appareils individuels et des flux spécifiques. Le modèle d'accès mis en œuvre simplifie le passage de l'audio et de la vidéo entre des conteneurs isolés et vers ceux-ci.

Dans la nouvelle version :

  • Un décodeur pour le codec audio LDAC a été ajouté, utilisé pour transmettre un son de haute qualité via Bluetooth. La bibliothèque libldac est utilisée pour le décodage.
  • Une option « bluez5-plc-spandsp » a été ajoutée pour compenser la perte de paquets lors de la transmission audio via Bluetooth, en utilisant les capacités de la bibliothèque SpanDSP.
  • Une implémentation sécurisée des fonctions d'analyse et de création d'objets sérialisés au format POD (Plain Old Data) dans la mémoire partagée a été ajoutée.
  • La possibilité de transmettre des métadonnées sur le support par les nœuds PipeWire de fonctionnalités supplémentaires a été mise en œuvre, ce qui peut être utilisé pour synchroniser l'utilisation de fonctionnalités avancées, comme le support de l'opération RELEASE.
  • Ajout du support pour l'attachement de données utilisateur supplémentaires aux commandes et événements transférés entre les nœuds.
  • Des fonctions auxiliaires supplémentaires pour la création et l'analyse des formats de compression ont été mises en œuvre.
  • La limite par défaut du nombre maximum de canaux a été augmentée à 128. La possibilité de redéfinir cette limite lors de la compilation a été ajoutée.
  • Ajout de la configuration « audio.layout » pour définir le schéma de son surround multicanal (par exemple, « audio.layout = 5.1 ») sans avoir à énumérer les positions des canaux (« audio.position = [ FL, FR, FC, LFE, SL, SR ] »).
  • Ajout du mécanisme « Capability Params » pour la négociation des capacités du lien au stade précédent la détermination du format et des tampons.
  • Ajout du support pour de nouveaux types de représentation des couleurs (colortype) pour HDR.
  • Dans les cycles de traitement des événements, le support des blocages avec inversion des priorités a été mis en œuvre, empêchant les situations où un flux à haute priorité doit attendre la libération d'un blocage détenu par un flux à basse priorité. Pour synchroniser l'état entre les flux, des blocages légers ont été utilisés à la place d'epoll et d'eventfd.
  • Ajout du support pour définir la position du canal par l'analyse des données EDID.
  • Transmission dans le sous-système ALSA de la carte des canaux pour le son surround (quel canal est à droite, quel canal est à gauche, etc.).
  • De nombreuses améliorations liées à Bluetooth, RTP (Real-time Transport Protocol) et AVB (Audio Video Bridging) ont été apportées.
  • Le développement du protocole réseau Milan pour le transfert de données multimédia en temps réel a été poursuivi.
  • Le système de changement de fréquence d'échantillonnage (resampler) a été doté de la prise en charge de fonctions personnalisables de suppression des distorsions, telles que Blackman et Kaiser. Des calculs à virgule fixe ont été utilisés pour améliorer la précision du calcul des phases.
  • Possibilité d'appliquer dans le graphe des nœuds des filtres audio FFmpeg et des modèles IA pour le traitement audio basés sur ONNX, tels que le détecteur de voix Silero.
  • La prise en charge des clients utilisant le protocole v0, utilisé dans les premières versions de PipeWire, a été interrompue.
  • Le module jack-tunnel a ajouté le support de la connexion automatique des ports.
  • Pour le système de streaming ROC, le support des configurations multi-pistes a été réalisé.
  • La possibilité de changer les limites de ressources (rlimit) via le fichier de configuration a été fournie.
  • Une propriété « thread.reset-on-fork » a été ajoutée pour gérer la réinitialisation des threads lors de l'appel de fork. Pour les clients JACK, un comportement similaire à celui de JACK peut être obtenu en désactivant la réinitialisation des threads en réglant « thread.reset-on-fork=false ».
  • Un drapeau node.exclusive a été ajouté, garantissant qu'un port a uniquement une source et un consommateur, ce qui est nécessaire pour mettre en œuvre le mécanisme de Synchronisation Explicite.
  • Un drapeau node.reliable a été ajouté pour le mode de livraison garantie.
  • L'utilitaire pw-cat a ajouté le support des messages MIDI SysEx (System Exclusive, pour la configuration des synthétiseurs), du conteneur midiclip et des formats audio non compressés. Des options ont été ajoutées pour définir les formats de conteneurs audio et les codecs, ainsi que pour afficher la liste des conteneurs pris en charge, des codecs, des configurations de son surround et des noms de canaux.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster