Calling Streaming Audio Experts (I'm lost once again)

Forum: LinuxTotal Replies: 15
Author Content
techiem2

Dec 02, 2007
6:32 AM EDT
Ok, we are planning to setup streaming audio at the church sometime soon, so I'm starting to get stuff setup and trying to figure things out.

So, I'm going to put icecast on the router/firewall box so I don't have to port forward it. I will have a machine up in the balcony with me doing the feed. So far, it's all fairly typical. But here's where I get lost.

Normally, we'll just be broadcasting the sermons because of all those legal issues with broadcasting music and such. That's easy enough, just start/stop the stream feed.

But there are days when the sermon is broken up. Now I know I could just hit mute, but that seems rather harsh. I'd like to be able to switch the feed between live audio and a pre-recorded audio file that loops until switched back to the live source. That way we could have a "Please wait" message playing during the non-sermon parts. Any ideas on how to implement this? Ideally either a gui or curses control program.

Thanks as always!

Mark II
Sander_Marechal

Dec 02, 2007
2:47 PM EDT
Hmmm.... aren't the psalm authors dead for more than 70 years? More like a couple of hundred years now? :-) Can't you just broadcast it all? Even with a friendly sounding "please wait" loop, it still seems quite harsh to cut off your listeners.
techiem2

Dec 02, 2007
2:52 PM EDT
lol We do quite a bit of newer music too that can't be rebroadcast. However, maybe it would be a good idea to have the please wait loop include some freely streamable content...play a message, play some music, repeat file(s)...
Sander_Marechal

Dec 02, 2007
3:10 PM EDT
It may be worth to still try to broadcast everything. You're performing the music right (i.e. choir, audience)? Not just playing a CD? IN that case, there's compulsary licensing for performing (US 17.1 §115: http://www.law.cornell.edu/uscode/17/115.html) and broadcasting that performance non-commercially (US 17.1 §118: http://www.law.cornell.edu/uscode/17/118.html).

As for switching broadcasting: IceCast ships with Ices, which simply grabs whatever plays on your audio card to your IceCast server. So, when the sermon is going then you pump your microphone input to ALSA (or OSS of whatever soundsystem you use). When you want to switch, just disable the mic and start myplayer, rhythmbox, a CD, MPD or whatever audioplayer you like. Done? Stop the player and start the mic again. Simply don't connect speakers to the box you're recording with. Or keep the volume muted.
techiem2

Dec 02, 2007
4:49 PM EDT
Often the choir/special music/whoever is performing with a CD background. We were on the radio until recently, and our member who worked at the station should be more in tune with the licensing issues than I am. :) Though I don't know if he's in tune with how things differ for internet streaming as opposed to radio feeding, but I think he's looked into it. I'll have to ask him. I'll check out the links when/if they ever decide to load....
techiem2

Dec 18, 2007
10:07 AM EDT
OK, I talked to our former radio person/music licensing expert, and he informed me that there are no issues when you are doing live streaming, all the licensing craziness only comes into play when you are re-broadcasting. So we can stream the services live, then just archive the messages for later listening.

On the topic of stream feeders, I currently have 2 test streams going with ices (one playlist and one live). The problem is *sigh* that most of the listeners will probably be more-eldery windows using folks who won't have the first clue how to install a real audio player (even though I plan to link to them and give some basic instructions on the page).

So the question is, is there a live-feed streamer (preferably console/daemon/cli) that can do either simultaneous ogg and mp3 (gag) live streams, or that can run multiple instances to do both? It appears that ices locks the sound card when feeding from it. I know for playlist streams I can just have ices2 and ices0 both running (does ices0 do live? I didn't see anything in the sample config file) for ogg and mp3 streams.

Obviously, I'd prefer to just do ogg, but apparently that's not gonna work, what with all the windows users. :( So my next best choice is to do both so those of us with standards-compliant audio players can use ogg.
jdixon

Dec 18, 2007
10:45 AM EDT
For players, zinf for Windows handles both mp3 and ogg, and is Free software. Whether you want to encourage Windows users to install another player is problematic. VLC may be able to handle your streaming requirements, but I don't know from personal experience. Check http://www.videolan.org for the details.
techiem2

Dec 18, 2007
11:32 AM EDT
Haven't looked at zinf, I'll add it to the list of things to test. I know vlc should work, media player classic should work, winamp should work. I'll test them out on the winders boxes at home.

I'd also like to find a web based player that will handle an ogg stream. I've seen one or two that will do mp3 streams.

That way it would be easy for people to listen without needing an external program.
techiem2

Dec 18, 2007
11:35 AM EDT
To clarify, I mean a web based player that could be embedded in our external website and play the icecast stream. :) That way they could just go to a page on the site and hit play or whatever to listen to the stream.
DarrenR114

Dec 18, 2007
12:07 PM EDT
Seems to be the perfect opportunity to evangelise Linux and exhort to your fellow churchgoers about the evils of using Microsoft products.

Think about it this way - Christians should be striving to be good stewards of everything put in their care. Using Microsoft products is anything but good stewardship when there are less expensive, less problematic FLOSS applications available.
jdixon

Dec 18, 2007
12:22 PM EDT
A quick search for Java audio player turns up two hits from hotscripts.com and one from the Java Boutique which claim to support mp3 and ogg:

http://www.hotscripts.com/Detailed/5349.html http://www.hotscripts.com/Detailed/17673.html http://javaboutique.internet.com/AudioCentric/

The first hotscripts link is also listed on freshmeat, so it looks like a good bet.
techiem2

Dec 18, 2007
12:32 PM EDT
I'm looking at the third one right now. For some reason the self-signed one (which I would need for playing the icecast stream) isn't working for me from the site or from my site. The normal version is though (from the site). ??? The first one is from the same group, so I need to test it too.

And yes, I'm working on doing some converting. I built the current router box (which is also running the icecast server), and of course I'm setting up the feeder box. I ALMOST got to switch the school labs over a while back. We had "new" (i.e. like PIII) machines that our win2k license didn't cover, but MS sent us a new license apparently free when the person there that handles that stuff called. I do however have them running OpenOffice on all the lab machines now. I believe they were running Office 97 [maybe 2k?] and were looking to upgrade to something newer. Not a huge step, but a step nonetheless. If only I could find a linux projection program that works like our current proprietary (but actually fairly nice) windows one...then i could switch the projection comp over...(yes, I've mentioned this before, and still haven't found anything that compares to our current program).
techiem2

Dec 18, 2007
1:15 PM EDT
ugh. Just got a note from my radio friend. He was wrong about the streaming. For internet streaming, you do have to cut anything using pre-recorded tracks (pure live (like choir singing with the piano) is ok to stream, but anything using pre-recorded tracks (like choir singing with CD background) can't be streamed), so...back to figuring out how to tweak the stream.

Bother.
Sander_Marechal

Dec 18, 2007
2:04 PM EDT
It may still be worth paying the license fees. They're there, but they could be small. Have someone look into it.

As for recording the audio, you could just quickly hack something together using GStreamer. The gstreamer-utils package comes with the incredibly powerfull "gst-launch" command. With that, you can build streaming pipelines as simple or as complex as you want. A pipeline suitable for your situation would be two incoming streams that get mixed into one, then split into an ogg and mp3 stream which both get fed to IceCast.

One incoming stream is ALSA, which carries your microphone. The other is a CD or audio file with "please hold" or whatever. Then you simply mute one or the other incoming streams by setting it's volume to zero.

I drew a nice ASCII art scheme but this annoying forum software doesn't let me use the <pre> or <tt> tags. Sp here's a link instead: http://www.jejik.com/sander/temp/gstreamer.txt

If you implement that scheme with e.g. python-gst then you'd end up with a sub 100 line script or so. Pretty small.

EDIT: I should add that if you don't have GStreamer experience then it's pretty hard to wrap your head around. Then it hits you and you see the logic of the system. After that it's easy. It's like building something with Lego.
jdixon

Dec 18, 2007
3:25 PM EDT
> They're there, but they could be small.

IIRC, the fees for streaming are a per listener charge. That's probably prohibitive.
techiem2

Dec 23, 2007
7:36 AM EDT
Ok, so I'm up and running for the most part.

Here's the current details: Old Dell m866lr (P3-866) 256MB Crucial RAM 40GB hdd (it's what I had available) Netgear FA-310TX NIC Creative ES-1371 PCI Sound card Clean Gentoo Install Slim for login manager XFCE4 IDJC ( http://www.onlymeok.nildram.co.uk/ ) 0.6.12 from the pro-audio overlay for feeding synergy so I can control the comp from the projection comp I have it feeding a short playlist of tracks from jamendo when I'm not broadcasting live stuff. IDJC makes it nice and easy to switch between line and playlist (or do both at once). Current running a 24 kbps mp3 stream.

http://fbcdubois.no-ip.org:8000

You cannot post until you login.