Comment activer la diffusion audio sous Linux

Image de mise en avant de la diffusion audio

La diffusion audio – ou le streaming audio – permet de lire l’audio joué sur un appareil sur un autre. Cela peut être de l’audio en direct, des fichiers ou même une entrée microphone. De nombreux géants de la technologie ont leur propre version de la diffusion audio. Apple a AirPlay, et Google a Chromecast. Pour Linux, vous êtes doté de nombreuses méthodes différentes de diffusion audio grâce à sa nature open source.

Table des matières

  • Une perspective technique
  • Ce dont vous avez besoin pour la diffusion audio
  • Comment activer la diffusion audio
  • Questions fréquemment posées

Lisez aussi : Comment diffuser de l’audio de Linux vers Chromecast et Google Home

Une perspective technique

Bien que différents fabricants utilisent des protocoles légèrement différents, presque toutes les diffusions audio utilisent des réseaux peer-to-peer (P2P). Le P2P a acquis une assez mauvaise réputation en raison de son utilisation dans le torrenting, mais la méthode de mise en réseau n’est pas si notoire.

Essentiellement, le P2P signifie que votre appareil et l’appareil auquel vous êtes connecté partagent des autorisations de données – les deux peuvent recevoir et envoyer des données à leur guise. Pour les besoins de la diffusion audio, l’expéditeur convertira les données audio en binaire, et le récepteur les reconvertit en données audio. La compression, les débits binaires et la mise en mémoire tampon jouent également un rôle dans ce processus, mais cela reste un autre sujet que nous n’allons pas aborder ici.

Ce dont vous avez besoin pour la diffusion audio

Voici les principales applications que nous utilisons pour diffuser de l’audio. Il existe d’autres méthodes qui impliquent plus d’installation, mais ce sont les principales que vous utiliserez pour interagir avec Pulseaudio.

Préférences de Pulseaudio

Paprefs (préférences de pulseaudio) est un excellent moyen d’accéder à tous les modules de pulseaudio. Pour les mettre en œuvre, il vous faudrait normalement fouiller dans la documentation et passer par le terminal, mais l’interface graphique pratique rend tout cela beaucoup plus simple. Installez Paprefs avec la commande suivante :

sudo apt install paprefs

Un des problèmes avec Paprefs est qu’il utilise le nom de dossier par défaut pour Pulseaudio. Lorsque vous essayez d’activer ou d’installer des modules par son intermédiaire, il vous redirige vers ce dossier par défaut. Ce dossier n’existera pas si Pulseaudio a été mis à jour.

Pour résoudre ce problème, créez un lien symbolique qui pointe paprefs vers le bon dossier, comme celui ci-dessous.

Le dossier réel est “pulse-15.99.1+dfsg1.” Le dossier lien symbolique est “pulse-13.99.” Paprefs l’enregistrera comme tel, mais il pointe vers le dossier réel au lieu d’être un nouveau dossier à lui seul. Pour créer un lien symbolique, la commande terminal est la suivante :

sudoln-s'/usr/lib/pulse-15.99.1+dfsg1''/usr/lib/pulse-15.99'

Lisez aussi : Comment améliorer l’audio de votre PC Linux avec PulseEffects

Contrôle du volume de Pulseaudio

Cette application vous permet d’interagir avec les récepteurs et les moniteurs de pulseaudio. Non seulement cela vous aidera à voir si l’audio est joué là où vous le souhaitez, mais une interface visuelle est toujours utile lorsque vous travaillez avec plusieurs récepteurs et ordinateurs.

La commande terminal suivante installera Pavucontrol.

sudo apt install pavucontrol

Comment activer la diffusion audio

Comme tout dans Linux, activer la diffusion audio peut varier de facile à extrêmement douloureux. Mes tests et méthodologie se concentrent sur Ubuntu, mais si vous utilisez Arch ou toute autre distribution, le processus devrait être similaire.

Diffusion audio RTP

Utiliser RTP (Real-time Transport Protocol) est la méthode la plus simple que j’ai trouvée en testant. Ici, nous utilisons Pulseaudio.

  1. Accédez à l’onglet Multicast/RTP dans Paprefs et cochez la case “Activer le récepteur Multicast/RTP” et “Activer l’expéditeur Multicast/RTP” sur les deux appareils. Vous pouvez choisir d’activer l’un ou l’autre, mais je veux pouvoir envoyer et recevoir des données des deux appareils, donc j’active les deux.

Capture d'écran du 28 septembre 2022 à 20:28:02

  1. Vous pouvez soit choisir de créer un récepteur séparé ou d’alimenter directement l’audio de vos haut-parleurs vers l’autre appareil. Un récepteur séparé vous permettra de contrôler le volume et le format de l’audio que vous envoyez. Vous devriez voir le flux audio du récepteur dans la section des appareils d’entrée de Pavucontrol.
  2. Si vous êtes plutôt un utilisateur de terminal, vous pouvez également ajouter les modules suivants au fichier “default.pa” dans “/etc/pulse.” Ceux-ci font la même chose que d’activer le récepteur et l’expéditeur dans Paprefs.
load-module module-null-sink sink_name=rtp  
load-module module-rtp-send source=rtp.monitor  
set-default-sink rtp  
load-module module-rtp-recv

Il se peut que vous deviez modifier les permissions du fichier default.pa en utilisant chmod si vous choisissez de le faire manuellement.

Lisez aussi : Comment résoudre le problème de saisie dans le terminal sous Linux

Diffusion audio par connexion directe

Ajoutez les lignes suivantes au fichier “/etc/pulse/default.pa” sur les deux ordinateurs. Ces modules sont pour l’authentification entre le serveur et le client.

load-module module-esound-protocol-tcp auth-anonymous=1  
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

De plus, définissez le paramètre default-server dans le fichier “/etc/pulse/client.conf”. Cela peut être soit l’adresse IP, soit le nom d’hôte (nom de PC) du serveur.

Diffusion audio de Windows vers Linux

Si vous avez un ordinateur Windows et que vous souhaitez diffuser vers un appareil Linux, Pulseaudio ne peut pas, à lui seul, diffuser de manière fiable de Linux vers Windows ou vice versa. Scream est l’une des rares alternatives qui vous permettra de diffuser de l’audio de Windows vers Linux. Notez que cette méthode n’a pas été testée sur Windows 11.

L’installation est aussi simple que le téléchargement de l’application Windows 10 à partir du lien Github et du récepteur Linux depuis le dépôt. Les commandes terminal suivantes installeront le récepteur et sont également disponibles au lien des récepteurs.

# Redhat, CentOS, etc.  
sudoyum install pulseaudio-libs-devel  
  
# Debian, Ubuntu, etc.  
sudoapt-get install libpulse-dev

Si vous souhaitez éviter d’utiliser Pulseaudio, Jack offre une méthode infaillible de diffusion audio de Windows vers Linux. Cette méthode implique l’utilisation d’un pont ASIO connectant JACK à un récepteur audio sur l’ordinateur Windows.

Installez JACK sur vos ordinateurs Linux et Windows. Sur Windows, vous pouvez le télécharger et l’installer à partir du lien suivant. Pour Linux, vous devrez l’installer depuis votre gestionnaire de paquets. Dans mon cas, j’ai utilisé apt et la commande suivante :

sudo apt install jackd

Vous devez également avoir le pont ASIO installé sur votre machine Windows. Une fois les installations terminées, exécutez les commandes suivantes à partir de la ligne de commande Windows :

regsvr32 32bits\JackRouter.dll  
regsvr32 64bits\JackRouter.dll

Sur votre machine Linux, tapez jack_load netmanager dans le terminal ou définissez-le pour qu’il s’active automatiquement à l’aide de qjackctl (Cadence et Catia sont également d’excellents panneaux de connexion) en utilisant la même commande. Accédez à l’onglet Options, cochez la case “Exécuter le script après le démarrage” et ajoutez la commande.

Capture d'écran du 30 septembre 2022 à 18:10:28

Les dernières étapes consistent à démarrer JACK NetDriver sur votre appareil Windows. Alternativement, entrez jackd -R -d net dans la ligne de commande, démarrez le pont ASIO et définissez le périphérique ASIO sur JackRouter. Vous devriez voir le nom d’hôte Windows dans qjackctl ou dans le panneau de connexion que vous avez choisi. Parfois, cette étape peut nécessiter de redémarrer qjackctl, donc ne vous inquiétez pas si cela ne fonctionne pas la première fois.

Lisez aussi : Comment transcoder les fichiers FLAC avec flac2all sous Linux

Questions fréquemment posées

Existe-t-il des applications alternatives que je peux utiliser pour diffuser de l’audio sur Linux ?

Il existe de nombreux serveurs multimédias et applications de diffusion sur Linux. Il serait impossible d’expliquer et de passer en revue toutes, mais certaines des plus notables sont Mkchromecast et Soundwire.

L’activation de la diffusion audio rendra-t-elle mon PC vulnérable à une cyberattaque ?

Une préoccupation lorsque vous travaillez avec quoi que ce soit en rapport avec le réseau est la sécurité. Bien que certaines méthodes de diffusion audio puissent rendre votre ordinateur vulnérable, il est peu probable qu’il y ait un danger réel – tant que vous travaillez au sein de votre réseau LAN fermé.

Puis-je utiliser ces méthodes pour diffuser de l’audio vers ma télévision ?

Malheureusement, sans une application externe comme VLC ou mkchromecast, vous ne pouvez pas envoyer de l’audio directement à votre TV en utilisant RTP ou une connexion directe. Cependant, la plupart des télévisions intelligentes vous permettront d’installer des applications et/ou de recevoir et d’envoyer de l’audio depuis un autre appareil.