send audio over network
I had this post entirely written, but I decided to reframe the question in terms of the solution I'm going to try vs. what else I could be doing. This solution will be replaceable without consequence, or I can extend it to the rest of my network.
I have a laptop that I want to connect to my stereo via USB, and I want the other computers on my network to be able to send sound to it somewhat transparently. By "transparently" I mean that I want to be able to send literally any audio that would go through my local speakers to the stereo via the network. As far as I know, PulseAudio can do this without rebuilding any multimedia packages. No one really has anything good to say about PulseAudio, though.
As of now I'm ready to wipe the laptop (Pentium 4) and put pretty much anything (*nix) on it. I know PulseAudio is pretty easy to get running on *buntu, so I might end up doing that. I just want to be able to turn on the laptop and connect the stereo (in any order) and without doing anything else, have it ready to go on the network. Of course, I'm willing to put in some work to get it running. I prefer Slackware and FreeBSD, but the machine will literally just be there to send sound to the stereo.
Someone on forums.freebsd.org suggested NAS as a solution to a similar problem; however, I can't find anything useful regarding how to configure it, troubleshoot it, etc. I've only found random threads on the web by people who know how to use it or by people who can't find any resources for it.
Anyway, I'll be busy setting up PulseAudio to see how that works out. I can always wipe the laptop later, and I have a Kubuntu boot on my main laptop that I don't really care about.
Also, based on the way you describe your setup, I think it would make more sense to put MPD and the music library on the laptop, and set the laptop up with a web-based MPD frontend. Then the other computers will be able to use their web browsers to remotely control which songs the laptop plays over the stereo.
I'm able to send my npviewer.bin and DVD sound output to the stereo via wifi. The point being that I'll be able to stream sound to the server.
I set up Xubuntu and PulseAudio on the laptop and the setup works semi-good connecting from my Kubuntu boot, but I'm hoping to not have to set up PulseAudio on my Slackware and FreeBSD machines.
So far I have only a slight lag in sound and it's choppy here and there, but I don't know if that's a WAN problem or the setup I have going.
update: It turns out the screensaver, xfce-mixer, and/or xfce-volumed completely bogged down the old laptop (some combination of each at different times.) Fixing those and increasing the priority of both machines with the router got rid of the choppiness in web streaming but not Kaffeine. Dragon Player doesn't have choppy sound and the sync with video is fine. The only problem I have now is snd_usb_audio crashes when I do relatively minor things like click the XFCE menu or open pavucontrol.
vlc, ffmpeg, netcat
Sorry, I know this post is oooooold, but for the benefit of others.
For streaming media content over a LAN I found there are several possible avenues. I haven't tried all of them, so you may want to do a bit of experimentation:
VLC player. Vlc player provides streaming out of the box. I did a little experiment and was able to successfully play an audio file on my laptop which I streamed from my desktop machine - I used VLC player on both machines. See http://wiki.videolan.org/Documentati...ming_HowTo_New
ffmpeg. I haven't tried it myself, but ffmpeg seems to support streaming. See http://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide
netcat. Netcat is the "swiss army knife" of networking. You can use netcat to stream audio. Excerpt from http://aplawrence.com/Girish/nc.html:
On the receiving machine, I used an infinite loop:
$ while true; do nc -l 1234 | sox -t mp3 - -t ossdsp /dev/dsp; sleep 1; done
On the sending machine I sent an mp3 file:
$ cat ./00.mp3 | nc 10.18.22.250 1234
Bingo! Got the sound to play!
Adjusted from http://aeronetworks.ca/ogg2mp3-howto.html
which, sadly, is accessible only from the wayback machine http://web.archive.org/web/200902110...mp3-howto.html
TTY=`tty`; while true; do cat ./00.mp3 | tee >(xxd > $TTY) | nc 10.18.22.250 1234; sleep 1; done
this sends the mp3 stream to netcat as well as to xxd, which then (in turn) sends the output to the console used. This shows a live hexdump of the data being sent to the playout machine.
ive used this on occasion:
Thank you so much!
|All times are GMT -5. The time now is 09:06 PM.|