Best Live Streaming MP3 Solution? 117
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?
kuro5hin.org (Score:1)
Church approved solution ? (Score:1)
The same applies to numerous other religions - what's the point of such a streaming exercise ?
Why not run a porn channel - it's at least MP3 compatible.
BeOS (Score:1)
Re:I'm Not Sure (Score:1)
>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?
If you think that it takes a powerful CPU to do mp3 encoding, then you're likely using an old codec. While the CPU obviously has some impact, the codec used plays a much bigger role. The original Fraunhofer codec, which most mp3 encoders would have been using 2 years ago, did it's encoding at a very slow rate. A 3-4 minute song on my PII-233 was taking (if memory serves) about 8 minutes (ballpark) at bit rate of 128kbps. For the past year I've been using the Xing codec. I don't know if the Xing codec is available under Linux, but it's part of the Windows based AudioCatalyst program. On the same P2-233 at a bit rate of 192kbps, this codec will do the same songs in under a minute. Most of the other newish optimized codecs will perform similarly speedy encoding.
Quicktime/Sorrensen ( was Re:Icecast. ) (Score:1)
What I have seen as the easiest and quickest way of "streaming" is to simply have the file shared via samba and use the likes of windows media player or indeed any player you whish to play your audio/video files.
interms of real streaming, the apple solution ( sorrensen broadcaster and a linux box with Quicktime Streamer ) is the cheapest solution I have found to do live feed broadcasting. with the price of an apple and the software being the cost point ( reasonably expensive ).
of course, I didn't try to hard with just doing audio (perhaps you could record wav to stdout and pipe through an mp3 encoder then use icecast or similar ) as we wanted video as well.
Sgi have a nice solution but I think it's over your requirements and cost level
Cheers
Craig ( Gonzo but I can't remember my passwd and can't be botherd getting it
Sys - admin, The Language Lab, Uni of Queensland
Passing cost onto consumers (Score:1)
Next door, my friend runs FreeBSD.. He can't listen to your streams..
If I really wanted to hear the audio, I could buy windows.. This would cost $100, without counting for the time wasted learning, configuring, and dealing with crashed.
You could have chosen an open solution like MP3 and spend a little effort dealing with the issues. Then even a 060 based Amiga could listen, insted you forgoed putting in a little more effort (that is, your were too lazy to do your job), and you passed the cost of listening on to your listeners.
Gee, thanks.
something else to think about (Score:1)
Of course, GPL proponents will tell you that it is OK to break any copyright or patent, as long as you don't violate the GPL...
Re:kuro5hin.org (Score:1)
Re:Streaming media is what's ruining the internet. (Score:1)
56k not needed (Score:1)
Re:Streaming media is what's ruining the internet. (Score:1)
Funny. I thought UDP was for connectionless service, where packets did not need guranteed arrival, nor in-order arrival at the destination. That's not quite the definition of 'radio'.
Re:I'm Not Sure (Score:1)
--
Re: (Score:1)
Re: on the fly (Score:1)
Re:I'm Not Sure (Score:1)
Re:I'm Not Sure (Score:1)
All depends on the quaility.
If they are doing some live broadcast type of thing then CD quaility isn't needed.
Not only that, if they are streaming they are probably going to cater to modem users so they'll be doing it realivly light anyway.
If you're doing 44.1k @ 192bps real time you probably need a powerhouse... but i doubt 11k around 56kps is going to strain a moderate system.
---
Re:I'm Not Sure (Score:1)
Re:resources to check out (Score:1)
I'm gonna give it another try tomorrow if I find an hour or two to spare, and I'd love to hear from anyone that has sucesfully set something like this up. I get the impression that liveice *really likes* OSS, and I wouldn't want to setup a dedicated linux box just for encoding a live audio stream due to a shortage of PCs here.
I wish I could use one of the sgi o2's here for this. Any pointers?
-W
Re:Streaming media is what's ruining the internet. (Score:1)
-F
Re:Streaming media is what's ruining the internet. (Score:1)
Well it kind of is. UDP is perfect for data that must arrive immediately or else it is useless - aka audio/video/quake data.
what good is part of an audio clip should have aired 10 seconds ago? NONE.
With a stable connection, a lost packet here and there will not greatly affect sound/video/gaming quality.
icecast, it's easy, it's safe, it's fun! (Score:1)
Ice cast provides all the software you need to broadcast the live stream (liveice), but freshmeat has all kinds of other little tools that make it easier too.You might ask the guys here how they do 'geeks in space'
personally, I use icecast at home to stream mp3's to all the other machine's in the house--central storage of all mp3's and all types of machines can listen!(yeah, I know that just sharing the crap would be easier, but it was more exciting this way)
side note:I can't submit anything HTML formatted!, what's the deal?
Re:The free REAL products work out fairly well. (Score:1)
Icecast has worked well, and you might want to check out MME as mentioned above, but I can't comment on that since I have no experience with it.
Re:Stereo sound (Score:1)
That said, for most voice applications, mono is quite appropriate.
Icecast + Liveice + Lotsa bandwidth (Score:1)
Re:I'm Not Sure (Score:1)
The K6 family is optimized for different things than the Pentium Pro family, and one change is that on a K6-family processor, the pipelines are shorter, thus making heavy and unoptimized FP slower.
Not quite right. The K6 FPU has a lower latency, while the Pentium FPU has a higher throughput. The result is, that unoptimized code might run faster on a K6, but optimized code will always run faster on a Pentium. (I'm talking about 'standard' FPU oprations, not 3D-Now.)
Re:Real Life Solution :: At what cost (Score:1)
It's obviously a cynical view but not a wholy untrue one. Why has this been moderated down, eh?
Re:Real Life Solution (Score:1)
http://www.microsoft.com/windows/windowsmedia/e
It runs as a server just fine on NT4wks.
Re:Random brainstorming (Score:1)
Re:I'm Not Sure (Score:1)
Re:I'm Not Sure (Score:1)
Yes, or you can spend non-trivial amounts of money to get a hardware compression board.
Streaming the Gospel (Score:1)
Re:Consider (Oh No..) Microsoft .. (Score:1)
Re:Streaming the Gospel (Score:1)
Re:The free REAL products work out fairly well. (Score:1)
Re:icecast (Score:1)
Re:I'm Not Sure (Score:1)
Processor isn't the only consideration (Score:1)
--
If there is a God, you are an authorized representative. - Kurt Vonnegut Jr.
On the church side of things... (Score:1)
Your Situation (Score:1)
Stereo sound (Score:2)
Re:try vorbis by Xiphophorus (Score:2)
Re:resources to check out (Score:2)
Re:I'm Not Sure (Score:2)
Article on Linux.com (Score:2)
Is Real not an option? (Score:2)
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 (Score:2)
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
Don't Use Blade (Score:2)
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)
Don't Use GOGO for Low Bitrates (Score:2)
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.
Multicast is supported by some ISPs (Score:2)
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.
Re:go with icecast (Score:2)
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.
Dogma chasing Dogma, how ironic (Score:2)
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.
Related question: what open-platform clients? (Score:2)
Could a windows installation play an icecast or mp3 stream (MIME audio/mpeg) out-of-the-box in real time?
-AP
Nope (Score:2)
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
Thanks (Score:2)
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
Re:My PC (Score:2)
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
Streaming Live MP3 (Linux,icecast,lame) (Score:2)
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.
Don't know if it's been mentioned but... (Score:2)
Re:Random brainstorming (Score:2)
icecast (Score:2)
http://www.icecast.org/
Re:SHOUTcast (Score:2)
Yes. But Shoutcast is a commercial product, as you can read on the license [shoutcast.com], and I doubt there is any source available. There are versions for some unices, indeed.
Icecast [icecast.org] 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.
Re:Random brainstorming (Score:2)
Re:I'm Not Sure (Score:2)
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).
Re:Icecast. (Score:2)
SHOUTcast (Score:2)
Want to work at Transmeta? AT&T? - Catalyst Recruiting [trycr.com]
Re:try vorbis by Xiphophorus (Score:2)
In this recent Advogato interview with Christopher Montgomery [advogato.org], 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.
MP3-howto on freshmeat today !! (Score:2)
Re:try vorbis by Xiphophorus (Score:2)
Real Networks streaming products are better/easier (Score:2)
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
Very similar setup... (Score:2)
freshmeat.net has a SEARCH! (Score:2)
Mike Roberto (roberto@soul.apk.net [mailto]) - AOL IM: MicroBerto
radiospy (Score:2)
Re:Passing cost onto consumers (Score:2)
I'm Not Sure (Score:2)
_____________________________________
Re:icecast (Score:2)
As far as CPU power for encoding a 24Kbps stream only used about 10-15% on my AMD K6-2 350, and was able to get 96Kbps stereo stream going running the encoder and icecast on the same system streaming to three other clients with about 70% CPU usage.
You might also want to look at www.live365.com [live365.com] to do actual streaming to the clients. This was the solution I had recommended for a local radio station, but they decided to go to Micro$oft solution instead.
- Subsolar
Shoutcast (Score:2)
Re:Streaming media is what's ruining the internet. (Score:2)
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!
What about Darwin Streaming Server? (Score:3)
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
Icecast. (Score:3)
Easy (Score:3)
Re:I'm Not Sure (Score:3)
This is evident in Gogo, a free (speech, not beer) encoder, which on my K6-2 350 can encode 16-bit 44.1kHz Stereo audio to a 192kbps MP3 at a rate of 4.5 times real-time. When I encode my CDs, I get a song converted in about a minute. That should be evidence that AMD's processors are more than able to do real-time MP3 encoding, and more than one at a time.
--
go with icecast (Score:3)
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)
___
Quick and dirty and totally non-linux soliation (Score:3)
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.
Streaming MP3, and Live Data (Score:3)
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.
Re:Random brainstorming (Score:3)
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.
Re:A related question (Score:3)
HTH
Yertman
An idea (Score:3)
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.
Re:Streaming media is what's ruining the internet. (Score:3)
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?
Re:I'm Not Sure (Score:3)
You probably would if you were doing a 128kbit/sec stream, but that's hardly necessary for a live voice broadcast...not to mention nobody with a modem would be able to stream it at that bitrate. 22-28kbit/sec would likely work just fine.
The free REAL products work out fairly well. (Score:3)
btw Did you realize the Hocus Pocus comes from "Hoc est corpus"?.
From one who does weekly live broadcasts w/Linux. (Score:3)
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 [xingtech.com], 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? [bccs.net] Our encoder box is a dual Celeron 400, and doing the dual encoding it runs approximately 5-10% CPU.
It's just that easy.
YEs - Linux was teh first OS to do this! (Score:4)
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 [arm.ac.uk].
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 [myplay.com])
icecast (Score:4)
---
Real Life Solution (Score:4)
try vorbis by Xiphophorus (Score:4)
http://www.xiph.org/ main site
http://www.xiph.org/ogg/vorbis/index.html vorbis page
I run a live show... (Score:5)
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
Re:Icecast. (Score:5)
This is fixed in the latest beta, which seems to be stable. The problem appears in both Linux and Win32 servers in my experience, I haven't verified it for other platforms.
Another icecast example (Score:5)
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 [sourceforge.net].
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 [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 [bigfreakinserver.com] 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 [bwscampus.com] and click "about" on the lower left corner.
- the mad diPPer!
----
I'm not stoned, I just chugged a pack of fUN dIP!
My PC (Score:5)
So just about any PII, Celeron, or PIII class machine today can get the job done.
-AS
Random brainstorming (Score:5)
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
resources to check out (Score:5)
1. As mentioned above the premeir open-source on is www.icecast.org [icecast.org], The original is www.shoutcast.com [shoutcast.com], for additional resources and to talk to people their is www.shoutclub.com [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 [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 [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 [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.