83 votes

Comment diffuser de la musique sur le réseau vers plusieurs ordinateurs ?

Résultats

Je veux pouvoir passer d'une pièce à l'autre et entendre la même chanson. Comme si vous écoutiez la radio dans toutes les pièces.

Je veux cet effet mais je veux écouter ma propre musique, est-ce possible ?

Matériaux

  • Ordinateur portable Ubuntu.
  • Ordinateur Mac.

Première alternative

50voto

Takkat Points 135194

Oui, avec pulseaudio cela peut facilement être fait. Vous devrez installer et exécuter paprefs Install paprefs qui rend vos appareils sonores disponibles sur le réseau.

enter image description here

enter image description here

Ces paramètres permettent aux sources et aux puits de sons d'être publiés sur le réseau, idéalement vers un autre serveur pulseaudio.

Si votre serveur est configuré sans le gestionnaire de bureau, vous devrez d'abord installer un système de sonorisation (voir cette question ). Vous pouvez alors modifier /etc/pulse/default.pa en décommentant ces lignes dans le fichier Accès au réseau section :

load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
load-module module-zeroconf-publish

Si vous voulez utiliser l'expéditeur RTP, décommentez ces lignes le Module émetteur RTP section :

load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
load-module module-rtp-send source=rtp.monitor

Le serveur pulseaudio doit être démarré en tant que démon avec pulseaudio -D au cas où il ne serait pas encore en marche. Pour optimiser les réglages de la qualité du son dans l'application /etc/pulse/daemon.conf peuvent être adaptés aux besoins personnels.

Une autre méthode pour diffuser de l'audio sur votre réseau consisterait à installer un serveur Icecast (cf. cette question ).

12voto

Ilya Points 2279

Je n'ai rien eu à faire qui sorte de l'ordinaire. J'ai deux netbooks, tous deux équipés de PulseAudio et de matériel Intel sans nom. La façon dont je l'ai mis en place a été un peu comme ceci.

Exécutez paprefs sur votre serveur et votre client. Sur le serveur, assurez-vous que les paramètres de multidiffusion sont activés et que les bits du serveur sont cochés, comme suit enter image description here

et le bit de multidiffusion enter image description here

Sur le client, activez l'élément permettant de trouver les appareils compatibles avec le réseau. enter image description here et définissez votre périphérique de sortie sur le périphérique réseau virtuel via pavucontrol. enter image description here

viola tu devrais avoir de la magie maintenant

11voto

Maxi Points 176

Votre meilleure option s'appelle Music Player Daemon (mpd).

https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon

Il s'agit d'une application client-serveur. Vous stockez votre musique sur le serveur, puis vous vous connectez avec vos clients (plusieurs personnes peuvent le faire en même temps) et contrôlez le serveur.

Il est déjà dans ubuntu, il suffit d'apt-get install mpd

Et aussi une bonne documentation : https://wiki.archlinux.org/index.php/Mpd

MPD peut diffuser de la musique en continu, de sorte que vous pouvez disposer de nombreux clients (ou haut-parleurs si vous souhaitez les appeler ainsi) pour diffuser la musique.

Mais ne vous attendez pas vraiment à une bonne qualité. Le streaming gâche gravement le son (que vous utilisiez mpd ou pulseaudio). Il est préférable de connecter de vrais haut-parleurs au serveur et d'utiliser les ordinateurs portables uniquement pour le contrôler.

1voto

laplasz Points 131

Avec cette solution, vous pouvez diffuser le son de votre système où vous voulez
La clé ici est la capacité de bouclage d'ALSA. Vous devez donc d'abord activer le dispositif de bouclage dans ALSA, qui apparaîtra dans le contrôle de volume PulseAudio comme un dispositif d'entrée (et un dispositif de sortie également).

sudo modprobe snd_aloop

ce dispositif peut ensuite être ajouté à un serveur mpd :

mpc add alsa://hw:1,1

où hw:1,1 est le périphérique d'entrée de bouclage peut être listé avec la commande aplay -l

alors vous devez configurer un plugin de sortie http pour le mpd. l'exemple suivant se présenterait comme suit en /etc/mpd.conf

 audio_output {
    type            "httpd"
    name            "My HTTP Stream"
    encoder         "vorbis"          # optional, vorbis or lame
    port            "8000"
    bind_to_address "192.168.1.38"               # optional, IPv4 or IPv6
    quality         "5.0"                   # do not define if bitrate is d$
#   bitrate         "128"                   # do not define if quality is d$
    format          "44100:16:1"
    max_clients     "0"                     # optional 0=no limit
 }  

c'est tout. Sélectionnez le périphérique de lecture pour votre source audio dans l'onglet Lecture du contrôle du volume.
Enfin, vous pouvez utiliser VLC ou tout autre moteur de rendu de flux au point de destination en utilisant l'adresse url httpd : http://192.168.1.38:8000
Cette réponse est également disponible ici

1voto

Jaime Points 26

Pour compléter la réponse de lazyPower, j'aimerais préciser que le "serveur pulseaudio" est l'endroit où se trouvent les périphériques audio (dans mon cas, il s'agit des écouteurs Bluetooth connectés à l'ordinateur portable) et le "client pulseaudio" est l'endroit où l'audio est diffusé sur le réseau en sélectionnant le périphérique de réception audio. J'ai passé quelques heures avant de réaliser cela.

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