Best Live Streaming MP3 Solution?
kasparov asks: "I am in a position where I need to be able to stream live audio broadcasts for a church's weekly services. I am considering using streaming mp3 under Linux. Is this a viable option? If so what's the best way to go about this? Is there a way to plug the stereo out of a mixing board to the stereo in of a sound card and encode the incoming analog signal to mp3 and stream it?" Particularly, if you were looking to do something like this from scratch what equipment would you need? What do you all recommend?
Stereo MP3s generally do not use 2 streams, unless the left and right inputs are completely different. If the channels are very similar, information can be shared between them. You might need to go from 24 to 32kbps to encode stereo at the same quality, but not all the way to 48.
Very, very wrong. MP3 most certainly does have patenting and liscensing issues. Just because the patent holder (Fraunhofer, probably spelled wrong) has said it's ok to use it in certain ways doesn't mean it's not patented and it doesn't mean you are free to use it any way you like. And please, could you point me to an ftp site where I could download the MPEG Standard? I didn't think so. That's because it costs $170 to buy it from ANSI. That's doesn't sound like "without having to pay anything" to me. (Try here: http://webstore.ansi.org/product_external.asp?sku= ISO%2FIEC+11172%2D3%3A1993)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Not in particular. I shoutcasted a local radio station on my firewall box to use up spare cpu cycles, and I was able to pull 64kbps/32000hz/stereo just fine on its 233 mhz processor.
Half-a-thousand people had probably posted this already, but linux.com run an article on this very subject at http://www. linux.com/multimedia/multimedia.phtml?function=dis part&id=70.
:wq
I haven't looked at the license info for a long time, but I remember a few years ago you could use the Real Personal Server for something like this. As long as the use was non-profit you didn't have to pay for realserver. You were, however, limited to something like 50 connections.
What stuck out in my mind was the "On the fly" streaming. I plugged the audio out of my cd player into the line in of my sound card and I was able to stream a "radio station." (My idea was to have another sound card playing mp3s that fed into the other card to do the Real media conversion).
Like I said, its all contingent on what the Real Personal Server license allows. But I know it can do what you want.
---
Blade encoder is responsible for a lot of bad mp3 press.
if you know anyone using it then stop them LAME is better.
Of course... you still find people doing stupid things with encoders like asting for 44.1 kHz stereo audio as 32kbit....
ewwweewwwweeessshhshhhshhhhs
Nuff Said
What you relly want to do is use pipes, that's how I didi it originally, don't write the stuff to the FS (well unless you actually want to record it too)
GOG is fantaststic - but it's based on (relatively speaking) quite an old version of LAME - if you're going for streaming content at low bitrates then the improvements that LAME has made really show up.
Of course if you want to stream at 160kbit then you'll be hard pushed to tell the difference uless you look at 'top'.
At low bitrates the CPU usage is generally lower.
http://www.ipmulticast.com/isplist.htm has a list of ISPs/ASPs supporting multicast. This site is also a good place to learn more about multicast.
The problems with multicast deployment are largely to do with it being quite hard to control (access control of senders as well as bandwidth limits on senders), and a challenge to troubleshoot. There was a good article in a recent IEEE Communications magazine about this (in fact the whole issue was about multicast).
Most routers have multicast features, but as with QoS/DiffServ features, turning them on can result in hassles if you don't have the tools to manage them properly.
This also means that there is more than one URL for your stream, unless you set up a DNS server to let clients have an equal chance of getting each available server. There are, of course, many other ways to handle this as well.
/ \
\ / ASCII ribbon campaign for peace
x
/ \
First, not all churches are the same. Many lack such accouterments. In many of those which do, it is practically mandated by the particular religion.
Second, stained glass windows and the like may cost a lot to build, but they can hardly be sold (and replaced) short of selling the entire church. Furthermore, some patrons demand such things--it may hurt them (even if you believe cash is their prime objective).
Third, how many clergymen do you know that are rolling in the money? Damn few. They're obviously not in the business of making money.
Fourth, I strongly dislike NT, and I think it generally makes a poor choice. However, there are some situations (even "real-time mission critical systems") where it is actually more stable and cheaper than the alternatives due to lack of software, compatibility, etc.(though this likely isn't one of them.) Remember that keeping a server up is not your goal in and of itself, providing a solution is. It means little to have a server which never fails, but also never fails to give users problems. In other words, sometimes it is better to have a server which is only 99% reliable (even though this may be inexcusable), than one which simply can't accomodate the users.
Disclaimer: I'm not religious, I disagree with many religions in many areas, but your claims are simply misinformed. Likewise, I despise MS (for both business and technology practices), probably more than you, but I try not to let that blind me.
Suppose a person was going to start streaming mp3 data. Are there any Java clients that can play mp3 streams yet (with source??)?
Could a windows installation play an icecast or mp3 stream (MIME audio/mpeg) out-of-the-box in real time?
-AP
I did mention SCSI, right? Otherwise, with EIDE, I'd be eating up 25% of my processor on writing and reading to the disk... which is perilously close to maxing out my CPU.
I do have 96mb of memory. But It's an NT system, and needs it.
I have run with 64 without a problem
32mb does indeed have serious problems
But lower bitrate stuff should take less CPU...
-AS
-AS
*Pikachu*
I didn't have this information because I run NT.
Pipes and such don't work very well, unfortunately. So NT sucks...
I do use NT for my scanning system, my FireWire stuff, and my graphics stuff, as well as audio. For the longest time, Linux couldn't do any of this stuff. I guess it can do some, if not most, of it by now.
-AS
-AS
*Pikachu*
Well, a lot of CPU is sucked up by ripping your CD and writing to your HD(twice), especially in IDE.
With a scsi system, that entire operation only takes 5% of my resources... I think in a similar IDE system, it'd eat up 30% or so!
So you are limited by your drives, too.
But yes, someone else mentioned LAME is slow. I use Xing or BladEnc
-AS
-AS
*Pikachu*
Reading the other comments I discovered there were several things not mentioned yet.
) , or GoGo (based on Lame). We use Lame for all our MP3-encoding.
:) http-server.
/tmp/)
/tmp/my-live-stream
/dev/dsp -t wav - | lame -b - - > /tmp/my-live-stream
/tmp/settings.txt /[mountpoint on server] /[mountpoint on server]
/cat/settings.txt /tmp/my-live-stream | nc -w 30 [my icecast server] [port] &
An important part of my work is being responsible for all streaming done by the Norwegian Broadcasting Corporation (NRK - http://www.nrk.no). We stream all NRK radio-channels in Real, MP3, and with Multicast over the Mbone in both PCM mu-law, and MP3 format.
This is a short runthrough of our most successful setup, with comments regarding your question:
1) Yes Linux is the best choice AFAIK for the OS. An alternative is any of the other FREE Un*x'es.
- Linux is stable, - Linux is free. We've run Real and MP3 servers on WinNT, IRIX, and Linux. What would be a moderate (PII-300) Linux server outperform any of them.
2) Your best choice for MP3-streaming software would clearly be Icecast (www.icecast.org). It is free, stable, and easy to install. We use Icecast for all our MP3-streaming. We are in the process of replacing all our Real Servers with Icecast.
3) As others have said: Your biggest enemy will be bandwidth. It is easy to setup Icecast to relay your mp3-stream to another server with more bandwidth. As a sidenote: Unicast streaming is hell on bandwidth. Multicasting is a much better choice. Unfortunately Multicasting is still a long way from being implemented in most parts of the commercial Internet.
4) Live MP3 encoding: Use Lame (http://www.sulaco.org/mp3/download/download.html
5) Also you do not need to use Shout or Liveice to get the stream to your server. Remember that Icecast (and shoutcast) is nothing but a scaled down, and optimized(we wish
Also: You do not need to store all that mp3 on your harddisk. We use FIFO-pipes and a tool called nc for all our streaming.
Here's and example:
First: Use 'mkfifo' to make FIFO-pipes somewhere on your filesystem. (Here we use
mkfifo -m 644
then use Sox to grab the audio from your soundcard and pipe it to Lame (which reads from STDIN and writes to your FIFO-pipe):
sox -t ossdsp -c 2 -r 44100 -w -s
Create a file with settings for the Icecast-server. This is normally one of the things Shout and Liveice does, but we are connecting to the Icecast server directly, so we do it by hand. Here is the settings file we use for streaming radio: Let's say we store it in:
---
SOURCE [SERVER SOURCE PASSWORD]
x-audiocast-bitrate: [encoding bitrate]
x-audiocast-name: [The name of the broadcast]
x-audiocast-genre: [the genre of the broadcast]
x-audiocast-url: [broadcast URL]
x-audiocast-mount:
x-audiocast-description: Icy protocol in use
x-audiocast-public: 1
---
Then run the command:
cat
It might be a good idea to put the above commands in a script. If you start writing to a FIFO-buffer and you take to long starting to read from it the buffer will time out, and the connection to the icecast-server will fail.
I hope this is helpful.
http://www. streamingserver.org/</a> ... A good pointer to all sorts of different streaming technologies.
the software is written, it's easy to use(especially under linux), and people do it all the time--all that is needed is icecast, as that is what it is designed for--there is no need to 'rig the software', just use the proper tools
Slackware: old school feel, new school gear.
icecast works fine for me. no problems at all. i used to stream nonstop with it.
http://www.icecast.org/
Yes. But Shoutcast is a commercial product, as you can read on the license, and I doubt there is any source available. There are versions for some unices, indeed.
Icecast seems to do a great job and it's under GPL, but it needs an external mp3 encoder. This is the bad point: free ones like BladeEnc and Lame are under pressure by the Fraunhofer patent (at least in USA and Germany).
It's really a pity, because Lame 3.70 has a really good psycoachustic model, encodes at a speed that is twice the real time on a 300MHz system, can also do variable bitrate encoding (slower). It can also perform the re-encoding on the fly to change the bitrate, which is a must when you have to broadcast mp3 ad a certain speed.
But patents hold down all this in the non-commercial use, even in countries where patents on software are not allowed (Europe), due to some legal tricks (I believe).
My 0.02 Euro.
Shoutcast doesn't make liveice; it's an independent, open source project.
*Life is too serious to be taken too seriously.*
Yes, the Xing encoder is available for Linux, and it works really well. It takes about 50% of the duration of the song for VBR encoding (at an average of about 160kbps) on my K6-2 400. And it sounds quite good too. But, it's not free (as in beer and speech).
Icecast has a thing called liveice that is pretty cool. It should be able to do what you want, with the right configuration and stuff. Icecast is the "shoutcast" server. So you would still need a program to talk to the server, which liveice does, and winamp can do as well.
-overlord
Want to work at Transmeta? AT&T? - Catalyst Recruiting
Can your IM do this?
In this recent Advogato interview with Christopher Montgomery, he notes that the Vorbis libraries themselves are in the final cleanup stages towards a 1.0 release, and that what they need now are developers to add application support.
In fact, you should checkout freshmeat today. MP3-howto is updated and is featured on freshmeat's front page. URL is http://www.freshmeat.ne t/appindex/2000/03/26/954079198.html. Here's what's straight from the appindex and I think is really relevant to want you're doing. The Linux MP3-HOWTO describes the hardware, software, and procedures needed to encode, play, and stream MP3 sound files under Linux. It covers encoding MP3s from a live or external source, encoding MP3s from audio CDs, streaming MP3s over a network, and mixing and listening to MP3s.
He was saying that vorbis doesn't have the patenting and licensing issues that MP3 does have.
I have investigated this some and for me the choice is clear:
1.) Real Server runs beautifully under linux with many configurable options although it runs pretty much flawlessly in most situations on first install.
2.) You can connect the Real Producer which is encoding your stream from any computer. I stream audio from my NT box on DSL and direct it to my server running linux on a T1.
3.) Real Audio g2 at 20kbps sounds about 500x better than mp3 streaming at 16kbps.
4.) Both options can be done for free but the knowledge base and support is much wider with the Real Products, and if you are willing to pay the support and features become MUCH greater with Real products.
So some investigation for yourself but this is what I have found...
Josh
The 2600's Off the Hook and Afterdark streams with which I am involved ("airs" every tuesday night from 8 PM EST until whenever) is broadcast using AOL Shoutcast on a Cable connection. It is also mirrored by several others, including Fearfree's Hotsoupmedia and Connect[] radio (irc://irc.2600.net:6667#connect). No expensive equipment is required at all, although we'll be getting a mixer for phone call-ins, we use Dialpad now for outgoing. If you're interested, check us out 8 PM EST on irc.2600.net:6667, #offthehook and see us at http://oth.n3.net or email us at radio@rewtme.dhs.org.
Have these people ever tried searching for things, or do they just like to have others hand it to him? Go to freshmeat.net. Right at the top is a search. There are tons of streaming mp3 tools, and servers are out there. Search accordingly, find it, use it, read about it. It's not that hard. Ask slashdot should be more complex than THAT
Mike Roberto (roberto@soul.apk.net) - AOL IM: MicroBerto
Berto
www.radiospy.com will tell ya how to set up / maintain / listen to streaming mp3.
Ummm, if you read the comment they didn't go with ASF. He dosn't state that they went MP3 but it is implied. Not to sound really pissy but I'm tired of reading statements like yours where either you didn't read or didn't understand the post.
I'm not a hardware guy, so I have no clue if it's possible... but wouldn't you need one hell of a computer to compress live audio into mp3 format in real-time?_ ______
_____________________________________
___
I'm an exhibit on the mounted animal nature trail.
I personally like streaming mp3s....using winamp..i stream them over my own server... http://audio.iceball.net and have a radio show...shoutcast and winamp seem to be the best solution that i can see.
The anti-salmon
You elitist Luddite. Thank you so much for your little "History of the Internet" lesson - no sh*t! And you're a little off - I do believe there was a lot of large file-sharing going on between Universities and other big institutions, as well. So it was a lot more than plain ol' ASCII. You're probably one of those people that pride themselves on an extensive memory of DOS commands.
The 'Net is not going to die. It is all driven by money, demand, profit, etc., now. If streaming multimedia and porn-heads demand this kind of content, then "supply" and the money needed will simply re-arrange to meet the demand.
Nobody is going to "not let anyone in" on their Internet. The 'Net-II is not being built to exclude media files and streams. How do you come up with these arrogant insights? The 'Net is simply "pay-to-play" now. That it would not be a nearly free-ride forever, was pretty darned easy to predict. But it would seem that you're the only person that "gets it".
I agree with you that (porn or "my_puppy_cam.com") is a waste of such a grand societal connector as the 'Net, but the 'Net can be many things to many people. I don't use it for porn, but if you want to, then I won't whine about how you're f'ing it up for me. The 'Net will sort itself out just fine, with the heaviest bandwidth users paying the most. And the ultimate goal, I think, is to make the cost of bandwidth practically negligible. "Fiber everywhere" is just around the corner.
I think streaming the audio from a church service is a perfectly acceptable and noble use. The person asking us exactly how to do it, will no doubt find that he will have to pay for the outgoing flood of data that he wants to send. He won't get a free ride at your expense. The guy was looking for advice, in a forum that he trusts. You're a wanker to whine about how he should only be using the 'Net for text files. Go back to your DOS prompt!
How about streaming via Apple's streaming servera ming/
http://www.publicsource.apple.com/projects/stre
This might avoid the MP3 licensing concerns.
I am not a lawyer nor an expert on audio streaming. I just think that if you are looking only for MP3 servers and not any audio streaming technology you may be limiting yourself and not end up with the best tool for the job.
Just my two cents
Shoutcast has a server for linux out, but it isn't GPL'ed like icecast is.
This is a doddle... 1. Get a fast mp3 recorder like lame or notlame 2. Get a wav recorder app that will output to stdout (rec might do this) 3. Pipe the output of the recorder into the mp3 encoder 4. Set the quality low, for web streaming this will be fine anyway, consider mono rather that stereo sound 5. Save the resulting file to a world readable directory that your http server knows about. 6. People using any mp3 player that can play from URLs can now access and play that mp3 file. Put it all in a script and you can even maintain a library of your church services!! This all relies on a fast computer that will not backlog the stream too much, anything p500+ will do fine.
As others have said, icecast would be the best solution. It's a Free (GPL'd) mp3 streaming software that works very well indeed.
Some people have suggested Real Player. That is not a viable solution for you. Real costs an arm and a leg and uses proprietary file format for which players are only available for windows. There is a beta version of RealPlayer for Linux, but it is beta and it is not Real's priority to release full-featured version. On the other hand, icecast is Free (so you're not locked into any licensing schemes), and mp3 players are available for every platform (so your listeners are not confined to windows).
Hardware is not an issue here. You can encode 192 Kbit/s mp3's faster than realtime on a Celeron 300 using Lame or BladeEnc. Since you want to stream it on the internet, you'll need to use lower bitrate (like 32Kbit/s), which requires less work of the CPU. I guesstimate that at this bitrate even Pentium 100 will do the job.
Your major issue will be bandwidth. With a T1, you'll have enough bandwidth to have only 48 cuncurrent streams... (assuming 32Kbit/s bitrate)
___
___
If you think big enough, you'll never have to do it.
Checkout www.live365.com. Free shoutcast reboardcasting. Setup winamp and shoutcast on anything bigger then a P120 and you're all set..
When I wanted to broadcast my radio shows onto the net live, I got all over icecast but in the end it never did the job for me.. Live365 is a commerical endevor, but provides a good service IMO.. I'm sure it's possible to use a linux encodeer to stream to it, but I just couldn't be bothered in the end.
A good software solution is Ice-Cast. (GPL'd package along the lines of Nullsoft's Shoutcast) It has the facilities you are looking for. The primary matter of concern is the size of your intended audience. Assuming you will opt for a low-bitrate (assuming voice is your primary transmission, and your goal is to reach as many people as possible, and you are not made of money for bandwidth) you are still putting a substantial load on the encoding machine should you choose to then "broadcast" from it.
My reccomendation would be to build 2 or (possibly) more medium size systems, assign one the task of encoding the audio, and pushing it to the public serving machine(s). This can be done inexpensively (relatively, but everything is relative) and has the added benefit of permitting you to push your content to repeater sites (donated, bartered,purhcased) permitting you to reach a larger audience. It also permits you to go a bit lighter on the bandwidth costs to your location and consider higher bandwidth/lower cost solutions for the public facing "broadcasting" servers should your audience be large enough.
Oh damn. Here we go again...
The hard part is doing this under Linux, of course.
Wrong answer. Playing with audio streams under Linux is easy as pie. Shoutcast makes a plug-in available in their package called "LiveIce". You install LAME, install IceCast, start it, then run LiveIce. It even has a tcl/tk interface for configuring it.
So, getting this running is just as easy under Linux as it is under Windows NT. Just because you're not familiar with the interface doesn't mean this would be "hard" under Linux.
Oh, by the way, BladeEnc would suck for this application. To get a good encode, you would have to stream it out at 192kbps. LAME is the best way to remedy this, it handles a 24kbps/22 kHz stream well.
aÍÍ©ÍÌÍ£Ì'̽ͩÌÍzÍYÌÍÌY
The latest version of Apples QuickTime Player is Apple Scriptable, so it should be pretty easy to automate the process of opening each file and saving a hinted version.
HTH
Yertman
Hi,
You may of course contact me personally for any advice on this issue, but I'd recommend that you get hold of the following packages:
1). Icecast
2). GoGo
Use GoGo (a free[dom] mp3 encoder which is as fast as xing's - I know, I use both) to do realtime mp3 encoding on any PII box from a mic input or whatever.
Then pipe the audio out of that process into a fifo which gets broadcast by Icecast.
I've played with this idea and I think it can work nicely. You probably want to encode the mp3 on one box and broadcast on another - otherwise you run the risk of too many hits slowing down the machine so much that the sound skips. Or simply limit the number of connections.
This will work nicely, just plan it carefully.
Jonathan.
http://www.jonmasters.org/
The internet was designed to move TEXT around. TEXT, and plain ol' ASCII text (none of this WORD, .doc file crap). Then someone created uuencode, the beginning of the end. Now there's streaming audio, Real Audio, streaming video, "vmail", Microsoft Net Meeting, the <whatever> cam, etc. All of this is grinding the net to a halt.
Guess what's been around since TCP/IP was invented? UDP. What was UDP designed for? Packet radio.
Gee, guess what Realaudio and the like boil down to? Packet radio running over UDP.
-Lx?
btw Did you realize the Hocus Pocus comes from "Hoc est corpus"?.
The answer, on linux, is pretty straightforward.
Regardless whether you have a Shoutcast or Icecast server handling the broadcasting part of it for you (Icecast works great, and apparantly smokes Shoutcast in the performance department), you'll need to get the icecast package from icecast.org to get the liveice and shout utilities (liveice handles the encoding of input from your sound card and fires it off to the shout/icecast server, where shout will play pre-recorded mp3s as a live stream to a shout/icecast server).
If you're planning on using a slow modem-capable bitrate, such as 24Kbit or 32Kbit, I'd recommend the Xing Encoder, which has vastly superior quality over the free encoders at low bitrates. It may not be free, but it's definitely worth the $19.95. Yes, you will have to patch your kernel to make it work with liveice, too, but the patch appears to work just fine.
If you'd like an example of a show done in exactly this fashion, have a listen to Does Humour Belong in Technology? Our encoder box is a dual Celeron 400, and doing the dual encoding it runs approximately 5-10% CPU.
It's just that easy.
You from British Columbia? Come see discuss-bc.ca!
Nowadays though, I'd suggest you use Icecast + Liveice - there are a few websites already doing this. But - as the author of Liveice I must admit that my documentation sucks, so if you have any problems then I'm always available for answers. Somtimes I even do hacks to order.
Liveice supports Soundcard Input, as well as multichannel mixing of mp3/wav/whatever. It can run as daemon and also supports almost every encoder available for linux. It also permits you to stream the same input at multiple bitrates - something which is probably essential if you're to cater for everyone. I've also got a plugin for xmms, but since there's no line in input plugin it's not so much use for live stuff just yet.
One major bit of advice I give to everyone - Get the latest version from my web page.
I'm terrible with CVS which is why most of my changes/improvements aren't in the tarballs/CVS on iceacst.org - one day when I have time to clean it up for a proper release.
(And while you're at it - why not listen to my latest selection of Scottish Music)
Try icecast. it supposedly works well. www.icecast.org
---
-
ping -f 255.255.255.255 # if only
As an engineer for 3 radio stations, all of which are streaming online, I would recomend Microsoft Media Encoder, which is embeeded in 2000 Advanced Server, or can be run on NT 4. When deciding which format we would like to stream, sound quality per amount of bandwidth was our most important consideration. Real player just sounded bad, so it was hardly considered. Icecast/Shoutcast was considered, but many people using it have found it unstable. We needed stations that were up 24/7. However, we do not use the default asf format with Microsoft Media Encoder, it tends to produce a very annoying wavy/wahwah/flange effect, but if you dig into the settings, it will stream MP3, which does not sound bad, even with a bitrate low enough that a 33.6 can connect reliably. If you do not expect a large number of hits, the machine encoding can serve as well, but otherwise, use a second machine as a redirecter. As others have said, bandwidth is king, celerons can encode fine, as can any of the faster PII and PIIIs. Please do not flame this, Microsoft Media Encoder is a product that fit our needs better than any other product available, It stills does not make me partial to Microsoft.
-- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
vorbis is higher quality density than mp3 and it doesn't have encumbering patents and licencing.
http://www.xiph.org/ main site
http://www.xiph.org/ogg/vorbis/index.html vorbis page
Don't be mean or my friend Oog will smash your head
I have a Linux box running Icecast which serves streams directly and I also send a stream to Live365 to use Live365 as a relay. They have a lot more bandwidth than I so I direct most listeners there. The Linux box is a 75 MHz Pentium with 32 megs of memory. All it does is stream. I rarely get more than two or three listeners at a time on this box since Live365 does relay so it is able to handle the load.
I use a Windows box to create the source stream. I have Winamp loaded with the Shoutcast DSP module and the linerec:// plug in to be able to record from the Line In on the sound card.
Some people on here have stated than anything less than 56kb doesn't sound good. I would agree with them if the 56kb stream is in stereo. Remeber if you broadcast in stereo, that stream has two hold one stream for left, one stream for right. So if you decided to broadcast in 24Kbps stereo, you only have 12Kbps per channel (more or less).
We broadcast in mono at 24kbps and still sounds really good. There really is no need for stereo in our broadcast since more of our broadcast is talk and we would rather have good sound quality than stereo for those small bits we play music. Also 24kbps only requires a 33.3K modem to listen if that much. It sounds like really clear AM radio.
As for the rest of our setup, we have a mixing board into which we plug our microphones. We then plug the mixing board's line out into the sound card's line in. This required a stereo RCA to stereo 1/8" plug converter. You can get this at Radio Shack.
We also take the line out of the sound card and hook it up to a stereo where we can plug in headphones. I highly recommend this. First off, you need to be able to hear what you are broadcasting directly (not through speakers). Secondly, headphones will allow you to hear any kind of hum that might be created by your setup.
None of what we are doing requires any high end hardware. Since we aren't broadcasting anywhere near CD-quality sound, we don't need a big machine to encode the stream and since we don't server a high number of simulataneous streams, we don't need a big icecast server. Live365 can handle the load if need be.
Chris
I originally tried using the 25-user free version of the RealAudio server, but it had too many technical limitations, crashed frequently, limited our listenership, and stopped me from adding/changing features in the program, since it's binary only. Since then, I've been using icecast, which has 4 identical streams of differing quality (one for the intranet, 3 for modems). I'm using LAME to encode the MP3s, and liveice is setup to save the live broadcasts to an MP3 on the hard disk for archiving purposes. Afterhours, we rebroadcast the previous day's archive.mp3 using icecast's shout program. The transition from broadcasting the archives w/ shout to broadcasting live with liveice is handled by a couple cron scripts.
There's no keyboard on the server, but it has a perl script continuously running on tty10, displaying the current number of listeners, total listeners per day, average listening time, etc (all this is obtained from the icecast logfile).
We also keep about a week's worth of archives available for listeners to download on demand, and they are accessible through a little perl program I wrote called MP3 Report Generator.
When we started out, we thought bandwidth would be a problem if we had too many simultaneous listeners, so we signed up for a free account at live365.com, which relays our broadcast to up to 365 users. This worked out well, since we could redirect all our listeners to the live365 server and reduce the load on ours. I just found a funky little tool here that monitors your live365 stats (i haven't tried this yet, but i probably will).
If you're curious about more of the server stats, go to www.bwscampus.com/KBWS and click "about" on the lower left corner.
- the mad diPPer!
----
I'm not stoned, I just chugged a pack of fUN dIP!
is a Pentium Pro 200 and can compress CD quality music at 192kbps in real time; IE, it finishes compressing before the song is over(I'm crazy enough to listen to the CD while I'm compressing)
So just about any PII, Celeron, or PIII class machine today can get the job done.
-AS
-AS
*Pikachu*
Hmmm.
I have a PPro 200->233(OC) and it can to realtime encoding; IE, the CDs I encode are done, on a per song basis, before the CD finished playing them. Yes, I'm stupid enough to actually listen to the CD while I encode them. I can get away with this, I think, because I have a SCSI subsystem. Ripping the CD and writing to the HD (twice, wav and mp3) only takes 5% of my CPU time.
Of course, encoding to 192kbps takes a good 67% of the CPU.
But lets say you code down to something more reasonable. You still have to be careful that disk IO doesn't suck up all your CPU time, what with the realtime capture of audio off your soundcard, which may or may not be CPU intensive in of itself, and the realtime encoding of the mp3, as well as the realtime broadcast.
I'm not sure, but I think you may need custom software, unless someone already wrote it. Are you interested in actually storing your work? In archiving it? The wav file needs to be continually broken up and discarded on a regular basis, and the mp3s should prolly not be saved as one honking big 400 mb 12 hour session. Of course, I'm exaggeratting. I don't expect you're actually going to broadcast 24x7, right?
Anyway, an easier alternative is delayed broadcast, by even a minute. You could prolly easily rig software to grab 1 minute chunk dumps of audio output, and get the encoder and streamer to dump that in realtime to your audience.
The hard part is doing this under Linux, of course. I run WinNT, and could prolly get this going. Anyone want to elaborate from the Linux front?
For example, under NT, and I imagine Linux, BladEnc could do the encoding trivially; especially if scripted or cronned to continually convert fresh material in a dump directory.
Is dumping audio under Linux as easy as some sort of cat > file from an audio device? The problem I see is that BladEnc will finish encoding before the file is finished, and quit... while new materially continues to get written to disk.
Anyone else?
-AS
-AS
*Pikachu*
1. As mentioned above the premeir open-source on is www.icecast.org, The original is www.shoutcast.com, for additional resources and to talk to people their is www.shoutclub.com.
2. If you want to stream *live* audio then liveice (which is part of icecast) shout work, if you on windows then use the SC plugin for winamp.
3.One of the biggest problems isnt software its bandwidth!! A decent sounding stream is at least 56K minimum, even with a T1 your nadwidth can max out quickly, if your stream is non-commercial then look into www.live365.com which provides free bandwidth for non-commercial streams along with a slew of tools.
4. If you need more advice then check out www.bigfreakinserver.com. This is our site we have a forum which we monitor frequently and will be happy to answer any streaming questions. bigfreak pipes out 3 streams over a 768Kbps DSL line, running on a dual proc Celercon, running FreeBSD :).
5. Finally here is a little fun tools for all you stream listeners, called streamripper located at www.bigfreakinserver.com (Look in the PROJECTS section). Which allows you to hook up to an mp3 and rip the tracks directly to your hardrive :). very fun indeed.
Well enjoy the resources.