11 votes

Configuration centralisée de PulseAudio

Je veux mettre en place un système pour que tous mes ordinateurs et ma télévision utilisent un seul système audio. Comme ceci :

entrer la description de l'image ici

Où le serveur multimédia est connecté aux enceintes et la télévision est connectée via l'entrée de la carte son et les autres systèmes utilisent PulseAudio pour accéder aux enceintes via le réseau. Est-il possible de mettre en place cette configuration ?

7voto

James Mertz Points 390

Partiellement – facile avec des clients Linux, difficile avec Windows.


Avec des clients Linux, c'est simple – il suffit de définir $PULSE_SERVER sur l'adresse du serveur multimédia et de copier le fichier d'authentification ~/.pulse_cookie.

PULSE_SERVER=tcp:mediaserver.home tcp6:mediaserver.home

Assurez-vous bien sûr que PulseAudio sur le serveur multimédia a les modules requis chargés; la plupart d'entre eux peuvent être activés via paprefs, ou vous pouvez les charger via ~/.pulse/default.pa sur le serveur multimédia:

.include /etc/pulse/default.pa
# requis:
load-module module-native-protocol-tcp
load-module module-simple-protocol-tcp
# nécessaire si vous utilisez WinESD:
load-module module-esound-protocol-tcp
# optionnel, pourrait être utile si vous utilisez Avahi:
load-module module-zeroconf-publish

Il n'y a pas encore de client PulseAudio pour Windows, bien qu'on puisse utiliser le très vieux pilote WinESD et le module de compatibilité ESounD de Pulse, ou l'outil linco tel que décrit dans cet article de blog; voici une version simplifiée avec plink de PuTTY à la place de Cygwin:

linco -B 16 -C 2 -R 44100 | plink user@mediaserver "pacat --playback"

Si vous utilisez iTunes, vous pourriez exécuter Shairport sur le serveur multimédia, ce qui le fera apparaître sur iTunes comme un AirPort.

(En fait, l'utilisation de Shairport avec des clients PulseAudio (via module-raop-discover + module-raop-sink) pourrait utiliser moins de bande passante que le protocole Pulse non compressé, mais malheureusement quelques incompatibilités empêchent cela de fonctionner.)

3voto

RandomDude666 Points 43
  1. Téléchargez la dernière version de Pulse Audio à partir de http://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/ (la dernière version est la v1.1 au moment de la rédaction).
  2. décompressez là où vous le souhaitez. exemple : c:\pulse\
  3. ouvrez c:\pulse\etc\default.pa
  4. assurez-vous que vous avez quelque chose de similaire à :
    • load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
    • set-default-sink output
  5. Sur votre ou vos machines Linux, ouvrez /etc/pulse/client.conf (vous pourriez éventuellement faire la même chose avec ~/.pulse/client.conf), assurez-vous que default-server est décommenté et défini sur l'adresse IP de votre machine Windows (celle sur laquelle vous souhaitez recevoir l'audio)
  6. redémarrez PulseAudio sur la ou les machines Linux, ubuntu : pulseaudio -k, pour d'autres distributions, je suppose que vous redémarreriez le serveur comme vous le feriez pour tout autre sudo service pulseaudio restart.
  7. Sur votre machine Windows, lancez pulseaudio.exe. Cela devrait ouvrir un terminal simple avec quelques avertissements (rien à craindre d'après mon expérience).
  8. Sur votre ou vos machines Linux, lancez quelque chose qui émet du son.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X