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


Résultats

Je veux pouvoir marcher d'une pièce à l'autre et entendre la même chanson. Comme vous le faites 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


74
2018-02-25 15:24


origine




Réponses:


Oui, avec pulseaudio cela peut facilement être fait. Vous devrez installer et exécuter paprefs  Install paprefs Cela rend vos périphériques audio disponibles sur le réseau.

enter image description here

enter image description here

Ces paramètres permettent la publication des sources sonores et des puits sur le réseau, idéalement sur un autre serveur pulseaudio.

Si vous avez votre configuration de serveur sans gestionnaire de bureau, vous devez d'abord installer un système audio (voir cette question). Vous pouvez ensuite modifier /etc/pulse/default.pa décommenter ces lignes dans le L'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 de RTP, décommentez ces lignes 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 fonctionne pas encore. Pour optimiser les paramètres de qualité sonore dans le /etc/pulse/daemon.conf peut être adapté aux besoins personnels.

Une autre méthode pour diffuser de l'audio sur votre réseau serait de configurer un serveur Icecast (voir cette question).


45
2018-02-25 20:41



Dans le cas d'un client sans tête (par exemple, un Pi avec des haut-parleurs dans mes armoires de cuisine), il serait utile de savoir comment le configurer complètement via des fichiers de configuration et / ou des commandes shell. - Raphael


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

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

C'est une application serveur client. Vous stockez votre musique sur le serveur, puis connectez-vous avec vos clients (beaucoup de gens peuvent le faire en même temps) et contrôlez le serveur.

Il est déjà dans Ubuntu, juste apt-get install mpd

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

MPD peut diffuser de la musique, de sorte que vous pouvez avoir beaucoup de clients (ou de haut-parleurs si vous souhaitez les appeler) pour écouter de la musique.

Mais ne vous attendez pas vraiment à une bonne qualité. Les résultats de streaming ne sonnent pas bien (peu importe si vous utilisez mpd ou pulseaudio). Il est préférable de connecter de véritables haut-parleurs au serveur et d’utiliser les ordinateurs portables uniquement pour le contrôler.


11



Eh bien ma maison est trop grande pour utiliser des fils, c'est pourquoi je veux diffuser le son. - Alvar
Vous pouvez diffuser, ne vous souciez pas de la qualité, cela ne compte pas beaucoup, étant donné que votre connexion sans fil est assez forte - Rahul Prasad
Comment le streaming gâche-t-il la qualité du son? Le WiFi est un support de transfert numérique. MPD effectue-t-il une compression sans perte? Je ne pense pas que ce soit nécessaire pour les réseaux WiFi d'aujourd'hui. - nvd
Wow, une vieille réponse. Je ne me souviens même plus, car je n'ai pas utilisé MPD depuis cette époque. - loxs


Je n'ai pas eu à faire quoi que ce soit hors de l'ordinaire. J'ai deux netbooks à la fois avec PulseAudio et assez peu de matériel informatique d'Intel. Comment je l'ai mis en place un peu quelque chose comme ça.

lancez 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 vérifiés. ainsi enter image description here

et le bit de multidiffusion enter image description here

Sur le client, activez le bit de recherche de périphériques compatibles 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

alto vous devriez avoir de la magie maintenant


11



Sauf que cela n'a rien à voir avec RTP. - kirelagin
Merci pour ce super tutoriel. J'ai vérifié toutes les cases, sauf que je ne pouvais pas "définir mon périphérique de sortie sur le périphérique réseau virtuel via pavucontrol". Si je comprends bien, cela se fait via le bit où, dans votre capture d'écran, il est écrit "Internal Audio Analog Stereo sur charmes @ nano". Mais sur mon système, il n'y a pas de bouton du tout. Qu'est-ce que je fais mal? - user69748
Je n'ai pas vérifié ces instructions depuis 2011, il est donc tout à fait probable que les paramètres du démon audio pulsé aient changé. - lazyPower
Ce que j'ai maintenant (après le redémarrage) est un canal séparé appelé "pulseaudio" qui semble être acheminé vers mon client. Cependant, il n'y a pas de son qui le traverse. Et mon canal Rhythmbox n'a toujours aucune mention de "user @ client". - user69748


Avec cette solution, vous pouvez diffuser votre système audio où vous voulez.
la clé ici est les capacités de bouclage ALSA. Vous devez donc d'abord activer le périphérique de bouclage dans ALSA, qui apparaîtra dans le contrôle de volume PulseAudio en tant que périphérique d'entrée (et périphérique de sortie également).

sudo modprobe snd_aloop

Cet appareil peut alors ê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 répertorié avec la commande aplay -l

alors vous devez configurer un Plugin de sortie http pour le mpd. l'exemple suivant ressemblerait à /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 ça. Sélectionnez le périphérique looback 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


1





Je ne suis pas certain que quelque chose de ce genre puisse être réalisé avec DLNA / UPnP, car je ne le connais pas moi-même, mais jette des liens ici au cas où cela aiderait:

Bien qu'un résultat de recherche rapide suggère que ce n'est pas possible de synchroniser ...


0



DLNA n'est pas recommandé, car il ne peut pas synchroniser la lecture. - Sparhawk


Il n'y a pas de bonne solution (encore). Il y a AVB mais son support pour 802.11 est limité à la synchronisation de l'heure.


0





Si vous souhaitez diffuser sur un téléphone Android, vous pouvez utiliser Foobar2000 sur le serveur et BubbleUPnP (payware) sur le client.

  1. obtenir du vin
  2. obtenir foobar_v1.2.5.exe
  3. $ wine foobar2000_v1.2.5.exe
  4. suivant, suivant, suivant ... :)
  5. obtenir foo_upnp
  6. extraire dans le dossier de composants de foobar2000 (qui est probablement dans ~/.wine/drive_c/Program Files/)
  7. lancez foobar2000
  8. allez dans Bibliothèque → Configurer → Lecture → Sortie → Périphérique et sélectionnez "Sortie nulle"
  9. assure-toi ufw ne bloque pas le trafic pertinent
  10. dans BubbleUPnP:
    1. allez dans Périphériques → Bibliothèques et sélectionnez le serveur foobar2000
    2. dans "Library", sélectionnez "Playback Stream Capture"

L'approche a l'avantage que si vous faites une pause sur Android, cela va générer un tampon (puisque le serveur envoie toujours).

Testé sur Ubuntu (version Wine 1.5.28-0ubuntu1~ppa1) et Windows.


-2