Slashdot Mirror


Recommended Hardware for Streaming MP3 Radio Stations?

Silent Node asks: "I am involved with a campus radio station where the web-site, e-mail, and pretty much everything else are hosted by third parties. In the interests of both cost savings, and control, we're considering purchasing our own server, and handling things directly. Aside from hosting a nothing-too-wild web site, this server would also have to hadle about two-dozen Email accounts, a couple mailing lists, and...streaming audio. I have experience administrating Windows NT, which is why I don't want to use it for this many things on one box. Our consideration is to perhaps get a G4 and run Linux on it. I have a few questions related to this... Would it be 'easier' just to run x86 Linux? What sort of minimum specs would a server like this need (remember, being listener funded, price is a big deal)? What streaming media sofware choices would we have (MP3 streams would be prefferable, due to the wide distribution of players)? Do you forsee any 'hang-ups' I haven't mentioned (i.e.: is this even practical)?"

27 of 171 comments (clear)

  1. Free streaming software by nlucent · · Score: 2

    You can use icecast for a free shoutcast compatible mp3 server.

  2. G4? by Millennium · · Score: 3

    The major problem with the G4 is that LinuxPPC won't run on it yet. Soon, but not just yet.

    Even when it does, I doubt AltiVec support is going to be in GCC for at least another year, and probably more like two, although now that Apple uses GCC to compile OSX it's quite possible that they'll contribute Velocity support themselves rather than wait for it to come "naturally." And they will contribute it if they write it; Steve Jobs is still reeling from his last skirmish with the FSF and I don't think he's willing to try closing modifications to GCC again.

    This said, Icecast seems to be the way to go for a streaming server. QuickTime is your other major option, and while it works quite well there's the problem of the fact that there is no Linux QuickTime Streaming player, so you'll cut off a portion of your audience.

    What I find off here is that no one has mentioned bandwidth, which is just as important as processor power. You probably already have significant bandwidth because of the Webserver, but you might want a separate connection for the new one (getting a 10Base-T on campus shouldn't be hard at all; of you're lucky you might be able to get 100Base-T). The college itself should have adequate bandwidth for your needs.

  3. Re:running mp3 stream radio station. by mvw · · Score: 3
    recently on freshmeat i have read that someone has improved the lame encoder so that it takes advantages of MMX/3DNow extentions found in newer CPUs: the name is GOGO but i have not tried it yet.

    The gogo encoder is in the FreeBSD ports collection. A fine Japanese contribution by the way. This is from the Description

    gogo, 'Gogo no coder' (which means 'afternoon coder'), is a very fast MP3 encoder based on lame-3.23 which is optimized for MMX, K6-2 3DNow! and Intel PentiumIII SSE. The latter is available when FreeBSD supports SSE. (Linux supports it.)

    *** DON'T OVERCLOCK YOUR K6-2 ***
    Gogo heavily uses the 3DNow! unit that almost is asleep usual, and the CPU becomes very hot even in normal clock. So overclock may cause serious internal errors or crazy results. Also, this may be same on PentiumIII.

    You can download it from here. Other related interesting stuff like icecast , vic and vat has been ported to FreeBSD.
    Feel free to try.

  4. Re:Spend your money wisely... by Signal+11 · · Score: 2
    Timeout there. This is supposed to be an 'on the cheap' project - that basically means whatever the poor guy can scrap together. I'd say anything more than $1000 for the hardware is asking too much. Sorry, but clustering is clearly not an option for this - and is /vastly/ overkill. A DX4/100 can stream about 7.8mb/s... anything with a PCI architecture can push 60+. All he needs is a cpu powerful enough to decode the mp3 in realtime (P60's can decode, but they can't do anything else - atleast a 233 can let him serve content and stream simul) and lots and lots of RAM.

    That's just my $0.02 though.

    --

  5. ... by Signal+11 · · Score: 3
    To answer your question - yes and no. It's practical. It just depends on how much traffic you get. The key thing here is /not/ cpu - but memory. Assuming you want to run linux on this bad boy, here's what you'll need:
    • icecast - streaming 'shoutcast' clone for linux.
    • Large mp3 collection. (BYOA - bring your own archive. *g*)
    • If you think you won't have more than 50 simultanious listeners on this box, a K6-350 or a P266 ought to be sufficient. Due to the nature of icecast, it only needs to encode the stream *once* and stream it out - so it's largely a bandwidth issue. If you're going to have more than 50, and will be serving dyn-html off the same site (generating playlists and whatnot), you might want something abit more beefy. Either way, consider 256mb of RAM your minimum.
    • As for HDD, here again - it just 'depends'. A good strategy might be two drives - one for your mp3 archive / wav files, the other for your web pages & stuff. Regular old IDE drives will do well under this setup and you don't have to worry much about blips in the audio if you have the streams on a seperate (dedicated) drive
    • Apache web server with perl_mod and/or php3_mod. But this is more for quick development of webpages and access to databases than anything else.
    • I don't know if it'll be much use to you, but I couldn't resist plugging my mp3db program to help organize your collection. :)
    • I would seriously recommend ripping / encoding on a seperate box to keep the load down. I'm sure there won't be a problem finding volunteers to send you pre-encoded mp3s on campus. :^) If you want a free software encoder, check out LAME (no url, sorry!) - it works very well as long as you give it somewhat high bitrates. Otherwise freshmeat has a variety of mp3 utilities in the app index under console/mp3
    • Hope this helps!

      --

  6. Probably overkill by Amnesiak · · Score: 2

    I would say that a G4 would probably be overkill. Although LinuxPPC is seemingly fast and very secure, I don't think that you need that much power to do what you want. If you want a bunch of power, you can always pick up a couple of Celeron's and an Abit BP6 - but I have a feeling that a p2-400 would probably do your job. The thing to worry about would most likely be bandwidth. I don't know how bandwidth-intense streaming audio is, but if you run a website off of it too, you have to consider good bandwidth. If you're on the campus ethernet network, I'd say you're good to go. Also, this isn't the BEST time in the market to say this, but in my experience, everything runs better when it's loaded up with plenty of RAM.

  7. Re:Buy an Athlon 500 by um...+Lucas · · Score: 2

    While an Athlon is faster than an equivalatly clocked PIII, i haven't seen any SMP Athlon MB's. What good would buying an Athlon 500 today do when you mix in the premise next year he can get a SMP Athlon board? That's irrelevant.

    One day I'll be able to buy a dual 2.2 GHz system for under $2000, but I wouldn't tell someone to postpone their purchase because of that.

    Right now, the way I see it, is Athlon's a great gaming machine and office PC, but for workstations and servers, I'd not go out of my way to accomodate it. A dual P-III system will, yes, cost much more than an Athlon, but you'll notice much more drastic performance benefits, IMO.

  8. Re:G4 is going to rip the Sh*t out of an MP3 by um...+Lucas · · Score: 2

    I hate to sound like a Mac Zealot, but stop with the FUD. Just about every chunk of the MacOS has been re-written, and it shows. Gone are the random memory errors of System 7. The multitasking still isn't preemptive, but most apps are well behaved these day. I get away at work with working in Quark and Photoshop, encoding music to MP3, listening to MacAmp, with Lotus notes open in the background and rarely crash. When I do, it's mainly Note's fault, but I can't remove it becuase that's how the company email works.

    The summary is, yeah, the mac was severly lacking 4+ years ago, but the current OS has come a huge way since then. It's unbelievable. You can still crash the thing, but it takes much more effort.

  9. You probably... by Graymalkin · · Score: 2

    won't need a G4 server for what is basically a file server. There's several routes you can take depending mainly on your expected volume. Windows NT as you probably know is a crappy idea but good ideas would be FreeBSD or Linux. If money is an issue then you might want to go with a Celeron based server which is just a P2 core with an on-chip cache running at 66mhz. This is plenty of speed for a web server as long as you have plenty of RAM (probably over 512MB). Icecast is a good MP3 streaming server which is available in source for linux (glibc), Solaris, and Windows. Encode the MP3s at or below 64kbps to maximize bandwidth and keep the file size relatively low. DOn't forget the RAID5 setup for quick access and expandable space. You CAN build an IDE RAID system which is much cheaper per megabyte than SCSI but getting an IDE RAID controller that works nice under linux/FreeBSD will take some searching. If it's something you want to try you can download the source to QuickTime Streaming Server (don't say that in CUpertino, there it's called Darwin Streaming Server).
    So to make it short:
    Celeron or P2 processor (at least 400mhz)
    at least 512MB RAM
    RAID5 with lots of space
    64kbps (at 22khz) for good playability
    I don't suggest a Mac server because I can't testify to the reliability to PPC linux or MacOS X. Alot of the question depends on your bandwidth too. If you're running off a full T3 you're going to need a faster server with more RAM because more people are going to be using it at once. If you've got a smaller connection you don't need as much umph in the server and you probably should encode the MP3s at a lower bitrate to maximize your bandwidth.

    --
    I'm a loner Dottie, a Rebel.
  10. Re:Bullshit. dont listen to this guy. by Graymalkin · · Score: 2

    Be would make a horrible server OS, so would NT which is too unstable for a high volume site without a bunch of machines behind a switch. Linux SMP works great if you're doing server applications (as long as icecast and apache are revamped to use SMP). The improvements that came after the Mindcraft shit really improved SMP performance.

    --
    I'm a loner Dottie, a Rebel.
  11. Re:98... by Graymalkin · · Score: 2

    Wow two whole days uptime, when you get 70 days uptime with Windows you can think you're cool.

    --
    I'm a loner Dottie, a Rebel.
  12. Re:Athlon Smokes Intel Now! by Graymalkin · · Score: 2

    The chip runs on a 200mhz bus, the rest of the system (including it's RAM) is only 100mhz. I don't have time to educate you with links to this common knowlege.

    --
    I'm a loner Dottie, a Rebel.
  13. Re:To bad for G4 by the+eric+conspiracy · · Score: 2

    The G4 servers are listed in the Apple store as unfortunately 'not yet available'. The hardware bundle looks really sweet, too. 18 GB Ultra2 SCSI (dual channel controller), 4 port 100 MB Ethernet, 256 MB RAM, 500 MHz G4 cpu. It would be a great box for this application.

    If I was doing this I would check out the availability targets first before saddling myself with some sort of frankenclone.

  14. Re:G4 is vapourware by the+eric+conspiracy · · Score: 2

    Macintouch reported people started receiving Apple Store orders of Sawtooth 450 MHz G4's around Sept 24.

    The older Yosemite based 400 MHz systems were showing up even earlier.

  15. Re:G4 is going to rip the Sh*t out of an MP3 by the+eric+conspiracy · · Score: 2

    Did a little research on this - Apple has halted delivery of G3 server orders pending, and is in the process of building G4 servers with Mac OS X installed. Expected delivery is 1-2 weeks. I imagine when they catch up with the G3 orders they will open up the Apple Store for G4 server orders.

    I think that anyone that is comptemplating a G4 server should nose around a bit. These things are *not* far off.

  16. Re:G4 is going to rip the Sh*t out of an MP3 by the+eric+conspiracy · · Score: 3

    Why is it that slashdotters seem to ignore the fact that Mac OS X server has been out for some time now, and it's quite possible to buy Macs off the shelf with it preinstalled? I think that the G4 servers running Mac OS X server would be very nice for this job. A great combination of a good operating system and top notch hardware.

    The prices shown on this page are not the edu prices, either.

  17. WRUW-FM -- http://radio.cwru.edu by The+Iconoclast · · Score: 2
    I RUN the LIVE webcast of our LIVE broadcast signal at WRUW-FM in Cleveland, OH. WRUW is the campus station of Case Western Reserve Unieristy

    Live webcasting is what I do. Check it out at the WRUW page. MP3 is definately the way to go. We have a 300 (clocked to 450) celeron and 128mb ram. It's on a dual board, so if we ever need more power, it'll be real simple. we've got a SB Ensoniq PCI soundcard that we feed our signal off or our airboard. We run Linux (duh :-),lame with some magic with named pipes and netcat and apache and we have as many streams as we want.

    We also have an AudioActive hardware MP3 encoder, that the folks at Telos/Audioactive were kind enough to donate (They ROCK!). It encodes one signal (56kbps) and our server encodes another (24kbps).

    I discovered that to the sound quality of 56k is comparable to a normal FM broadcast, so you really don't need a higher bitrate. The 24k stream is mono for modem users.

    The biggest bottleneck is definately your bandwidth to the rest of the world. We are lucky enough at CWRU to have one of the worlds biggest ATM LANs. The 155MB/s of oncampus bandwidth is denfinately nice to have. We were on ethernet, and I was dreading possibility of crashing our Ethernet segment. Now with ATM, we can have unlimited on campus listeners (because more Case students have computers than radios :-) and our off campus bandwidth lets us have about 150 listeners from elsewhere. If you have more questions, please don't hesitate to email me. It should be pretty obvious as to what my email is :-)

    --
    Quando Omni Flunkus Moritati
  18. Split encoder and server? by SEWilco · · Score: 2
    Should the encoder machine also be a server? It might be better to have the encoding done by a dedicated machine, with the resulting stream fed through LAN to the server. This avoids conflicts between the encoding and server software. If the two machines are in the same room then a dedicated LAN for the audio stream can also avoid LAN congestion problems for this source feed.

    There may also be advantages in putting the server in a campus network center, having only the encoder machine in the radio facility. If the audio feeds will be allowed out through the firewall to the Internet, the campus network people have to be consulted. They also may want to set limits for WAN versus LAN use. (How many people on campus will use LAN audio if they can use a $10 radio? But maybe alumni or off-campus residents will like the stream...)

  19. multicasting by hankaholic · · Score: 2

    Depending on your campus's size and configuration, you may be able to use multicasting to seriously reduce load. I don't know specific configuration details, but since you didn't mention it, I'd assume you'd not looked into it.

    --
    Somebody get that guy an ambulance!
  20. running mp3 stream radio station. by dermond · · Score: 2
    cpu power necessary:
    • it depends on how fast you want to stream. e.g. 24kbit/s or 128kbit/s (where 24k is better so that people with slow 33.6 modem connections still have a chance to hear you). a faster stream costs you more CPU power.
    • then the encoding software matters. some software is better optimized and needs less cpu power for the same quality then other. e.g. comercial xing encoder needs less cpu then the free "lame" encoder. recently on freshmeat i have read that someone has improved the lame encoder so that it takes advantages of MMX/3DNow extentions found in newer CPUs: the name is GOGO but i have not tried it yet.

    • encoders often have a switch where you can choose encoding quality where you can tweak cpu usage...

    i use a K6-450 to produce a 24kbit/sec stream with the free LAME encoder (based on the ISO sources..) and it uses about 20% of the CPU time. the stream is then sent to an icecast server and several other icecast server mirror that stream with "alias" defines.

    greetings mond.
  21. G4 is a viable option by 47Ronin · · Score: 2

    With the G4 box (450 or higher Sawtooth version), you will be able to stream MP3 and run a Quicktime Streaming Server. At least the QTSS software implementation is absolutely free and supports at least 2000 connections (AFAIK). In addition, the system already has 10/100Base-T Ethernet already and plenty of bandwidth power out of the box. Enough to serve an entire university population? Maybe. Just make sure to load it with RAM (I believe its limit is 1.5 GB). The Mac has a nice feature of being able to turn itself on, run assigned tasks and turn itself off at scheduled times.

    -----
    Linux user: if (nt == unstable) { switchTo.linux() }

    --
    Those who laugh at you for you having a Mac.. are the people who constantly call you to fix their PC.
  22. My streaming server by MrGrieves · · Score: 2

    Well, I've seen some people posting that Icecast isn't suitable for live streaming. Well, that's not true, 'cause that's what I do with it ;-)

    I have (or rather had; I graduated in June) set up a Linux server at a tiny college station to serve up web pages, mailing lists and an MP3 stream of their broadcast. I'd direct you to it, but the power is not too reliable in the area, so it's often down for long spans of time because the new admin is too busy(?) to walk over and switch it back on. I couldn't convince the exec board to shell out for an APS, unfortunately...

    The server itself is not very beefy (and does not need to be, really). It's a Celeron 333a with 128 MB RAM running RedHat 6.0 (when it's running...). I have the station's broadcast jacked directly into the input of the soundcard (SB AWE64). I run Liveice at 32 kbps, 22khz 'cause it doesn't sound too 'underwater' at that rate. The CPU and memory loads are trivial. I had wmmon running on my desktop when I was working on the machine at school and barely noticed the CPU trace at the bottom of the CPU meter. The memory load looked to be about 10%, if that much. The site's never been very busy, so that could be a factor. For connectivity, I hang the server off of the campus network, which is fast ether to the Internet gateway, which I think is frame-relay (the admins were rather secretive about it).

    So, basically Linux + IceCast + Celeron 333a + 128 MB RAM is plenty for me. If you have a huge amont of traffic, you may need more, but I'm betting (as other people have noted) that you'll saturate yr pipe before yr server starts to sweat.

    HTH,

    -Chris

  23. Spend your money wisely... by chown · · Score: 3

    A G4 probably is a bit of overkill, if you're streaming pre-compressed mp3's (which I assume you are), RAM is a lot more important than CPU. a PII -400 is enough to handle at least 600 simultaneous connections, as long as you have enough RAM (which would probably be 512MB to be safe). But if you want my advice, buy a nice layer-4 switch and have it do load balancing for you, and then have a series of celerons with 128-256MB RAM each, and if you ever need more power, you just plug another machine into the switch.

  24. RT encoding and your CPU by G27+Radio · · Score: 2

    Having a CPU powerful enough to encode well in realtime should be the most important factor. For low bit rates such as 24kbps (low enough to listen over a 33.6k modem--there is overhead to deal with so 32kbps is out of the question for 33.6k modems and 56k modems would be hit or miss depending on the listeners connection) the quality might not be that great. l3enc encodes 24kbps MP3's beautifully in high quality mode, but my K6-2-420 (oc'd) can't do it in realtime. None of the encoders that encode fast enough in realtime sound that great though (at 24k--a lot sound great at the higher bitrates.)

    Someone posted about the new Gogo encoder that supports MMX/3Dnow -- that may make a difference. I'm definately going to check that out. Of course this means an Intel/AMD solution rather than PowerPC.

    To the point: Try some different different encoders and see which gives you acceptable quality at the bit rate you'll be using. Which encoder works best will depend on the bit rate you choose. As far as the server, Icecast is open source and uses very little CPU. It's completely compatible with Shoutcast (even registers you on http://yp.shoutcast.com when you're broadcasting--the cool thing is that it registers you on multiple icecast yp.servers also.) Icecast outbenchmarked Shoutcast a lot when it first came out, but I can't find the benchmarks--things may have changed since then.

    Please avoid using something like Realaudio. Their support for Linux/Unix has been really lame in my opinion. They've only just released Realplayer G2 (alpha) for Linux.

    numb

  25. A Solution that is up and running right now! by larkost · · Score: 2

    Here at the University of Wisonsin the school of journalism has been streeming a live news show as a part of one of the journalism classes. I have been in close communication with the professor who has been doing the technical side of things.

    After quite a bit of research into possible solutions that he could brodcast, without worrying about legal issues... he came to the conclusion that an Apple solution was the cheapest, most usefull solution.

    They are using a 2 Mac solution, one to so the sorenson compression (this one is an older iMac running MacOS 8.6), and a second G3 (beige tower running MacOS X Server, and the free Quicktime Streaming Server). This solution is workign VERY well. As they have the show only for one hour durring the day, the setup is scritped so that the server starts up 5 minutes before the broadcast, straeams, and records, the broadcast at the right time, and then posts the recorded stream to a website that it modifies to suit, in case anyone missed the live broadcat.

    I tend to agree that you don't need a G4 to do the job. A pair of iMacs woudl do you just fine. Buy a copy of Sorenson brodcaster and pop it on one of them, and either go with LinuxPPC and the Darwin Streaming Server (a little bit of work to get it set up), or go with MacOS X Server (my recomendation), and you have an instant setup. Very reliale, and you can also stream video if you choose to do so.

    The only probem I would see is that there is currently no version of QuickTime 4 for Unix/Linux. Well.. there is the Java vrsion.. but.. For Windows amd MacOS users there will be no problems, and the streaming server can even be setup so that it will use MBONE, so that you don't trash the network if everyone happens ot be listning....

    That is my 2 cents worth.. good luck!

  26. Pardon if I seem skeptical.. by Kitsune+Sushi · · Score: 2
    As much as the linux community would like to believe that NT is as unstable as Win95/98, it will never crash on you and is extremely stable and efficient.

    ..but I've heard several people claim that their Windows 95 boxen never crash, either. I've seen them crash on a more than daily basis myself, and have yet to hear an account from a strictly reliable source that claims an NT box to survive more than a week or two without crashing.

    --

    ~ Kish

  27. MP3 Streaming - on the cheap by Howard+Beale · · Score: 3

    Here's a few things to check out-

    1) Go to www.icecast.org and use their GPL'd icecast and liveice software to do the broadcasting.
    2) The server horsepower depends on a few things: how many streams you want to run, are the streams mono or stereo and what encoder do you plan to use. Note that if you want to use one of the free encoders (such as LAME or one of it's patched versions), you won't be able to stream at less than 28.8kbps - you will need the Xing encoder at $19.95 or the Freanhoffer (?) at major $$. Note that the Xing uses MMX, which will give you a better encoding at the same CPU level, or a similar level of encoding quality at a lower CPU level.
    3) If you use the Xing encoder, you'll need to patch the icecast software to work around a problem with the Xing encoder. It's a small, minor change that makes a big difference.
    4) It doesn't make sense to run a high bit rate encoding if your listeners can't receive it. Don't encode a 28.8k signal for users unless they are using a minimum 56k modem. If they're using 28.8/33.6 modems, encode at 16k so they don't drop frames.

    To give you an idea, I set up an MP3 broadcast for a local minor league baseball team over the summer. I pulled the signal in from the local AM radio station (mono only) to my sound card's headphone jack. Liveice grabbed the input and passed it on to Xing. Xing encoded it and then icecast broadcasted it. The hardware I used was:

    Cyrix 200MX (o/c'd to pr-266) (Xing's MMX support made this work, otherwise go with AMD/Intel)
    32 MB Ram
    AWE 32 sound card
    4.3 GB IDE hard drive
    Xing encoder
    NE2k clone

    I streamed a 32k/44200 mono and a 16k/22100 mono signal at a CPU level of ~35%. This system was rock stable and managed easily. I set up a cron job to fire up just before the pregame program started, and stopped recording 4.5 hours later. I then moved a 'taped' version of the game over to a directory I set up for my web site so people who missed the game can download on demand and listen.