LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   Play the same music on all speakers in the house (https://www.linuxquestions.org/questions/linux-networking-3/play-the-same-music-on-all-speakers-in-the-house-518964/)

rewtedesco 01-13-2007 12:11 PM

Play the same music on all speakers in the house
 
In short: LAN as music machine. One PC plays music, the others play along in real time, no perceptible delays. How?


If I'm cleaning up I like to have the house full of music: everywhere. There are three PCs in different locations (running FC5 or FC6). Each has simple but sufficient audio capabilities. If I can make them all play the same music at the same time, I'll be dancing and I will clean up. - Otherwise, the place stays a dump! ...

But I'm trapped in shiny GUI's of things like VLC media player, It's fancy and cool but the problems are hidden behind a pretty interface. The messages in the message window are completely cryptic. Read the manuals back and forth (in particular VLC) but it has too many options, and the I suspect the problems are mainly about security...


But it's got to be possible:

One PC plays a list of music (from ogg/mp3/wav), and sends simultaneously a signal stream (whatever encoding of audio) to all other PCs in the LAN. Each other PC grabs the signal and sends it to /etc/dsp. Technically it shouldn't be a big deal. (click click click all those ancient and beautifully simple working devices of unix/linux. Open a socket here, write to it, someone else opens the same, reads it and sends the stuff to the an audio device. You think it should be easy. Given all the many possibilities to choose from, somehow I get the feeling that it may be easier to reinvent the wheel and putting it together in C-code than understanding which of all the possible players and letter salad machines will do the job.

Basically what I'm looking for is clear understanding of all the prerequisites that are necessary to do this. I suspect the failure to get this to work has to do with too much security and firewalls. Do I need apache installed? Do I need holes in firewalls, do I need to moderate selinux even more? What needs all to be there to turn all my PC's into audio slaves of one music master so I can clean up?

If you're writing here (like me?) because you're procrastinating to clean up your own house, think again. I will start now, sadly, to clean up only with just a little music in the kitchen area - not loud enough.

macemoneta 01-13-2007 12:17 PM

You want a music streaming solution, like Icecast. On Fedora, just:

yum install icecast

It's in the Extras repository, which is setup by default.

rewtedesco 01-20-2007 01:55 AM

It's sort of a status report: I took the hint and tried to inform myself about icecast and ices, then installed all these (with yum and yumex, since I'm on FC6). Found the documentation at icecast.org, and of course got stuck reading through the many posts of frequently asked and usually never answered questions. Finally, after getting a little more used to the letter salad, and arriving at a guts theory about what exactly a "mount" in the ice world might be (not explained in any one of the "tutorials" that I found), I began to fiddle around with the configuration files (which, after installation of the software are already in /etc/, at least in FC6).
I would like to pass along here that it's pretty futile to read most of the howto's until you have figured out what exactly it is that you have on your system after installing icecast, ices and libshout. Fortunately, before trying to run for example ices and mocking around with things like /etc/services, i used simply the administration tools and found: a) ices is already running. b) icecast is ready to be declared a service. c) all the special start and stop scripts are already in /etc/init.d, and I bet it's the same in other recent distros. Before you hack anything, do a little find as root:
#cd /etc
#find . -name "*icecast*" -print
#find . -name "*ices*" -print

Also try this in /var and /usr - Everything's already there, basically, for recently installed distros. The scripts in /etc/init.d are elegantly written: no tutorial needed. Result: Still no all-house radio, but did some cleaning up, and I understand a little more about all the little gnomes and elves in /etc, /etc/init.d and elsewhere.

... The rest of my daily procrastination time from real work I spent playing amarok, trying to get this relentless (old school) mysql talk with it, and fiddling forever with the 5 million setup possibilities for a desktop under KDE (I think they should order one OS and one way of setting up a desktop for people like me) ...


All times are GMT -5. The time now is 12:13 PM.