You want to DJ, but don't want to hang out in clubs with all those annoying raver types? Let the Fezguys show you how to stream audio to the world right from a home PC
Barraged by friends, manhandled by Internet marketing hype, you (poor soul) have decided it's time to descend into deeper levels of online content hell by making some of your own sounds available using streaming audio technology.
You may have noticed that simply attempting to listen to Internet audio is confusing enough. Competing online audio-technology companies desperately weave spells to charm bemused users into believing their Version Nine Million and Twelve product -- though ever so similar to that other company -- is the real deal.
Maybe becoming an online DJ yourself will be more effort than it's worth. Ah, but wait. There are now lots of easy-to-use tools that can have you broadcasting your own live online radio show in just a few hours.
In this tutorial we'll get you up and running with Shoutcast (version 1.7), a common (and free) server for streaming MP3 music files. For the purposes of this article, we'll use Windows (though Shoutcast is supported on FreeBSD and Solaris as well). We'll explain the process of running a streaming server and a source stream (your MP3 audio) from the same Windows computer. If you prefer Unix and simply want to make playlists out of a bunch of MP3 files you may want to check out Icecast .
Shoutcast is a software package enabling you to broadcast audio to other online listeners using your PC. It allows you to turn your MP3 files into rotating and repeating playlists for online users to hear. It does this by turning your computer into a hookah of sorts, serving up music instead of smoke through multiple octopus-like connections. You can deliver live or archived broadcasts, making it easy to continue streaming while you're otherwise occupied.
Server Requirements:
To operate a Shoutcast server we recommend running Windows on at least a Pentium 200 with 64MB RAM, though a lower-end machine may still work. You'll also need to consider how many simultaneous listeners you wish to stream to and how that affects your bandwidth requirements. As we'll explain in the "Config" section below, using a bitrate of 24kbps requires a 256kbps DSL to support 8 concurrent listeners.
Listener Tools:
Your listeners will need a standard MP3 streaming player to tune in. You should provide links to players to make sure they can download one if they haven't already. Recommended players are Sonique and Winamp fo
Go to the Shoutcast download page and click on "download Shoutcast." Click on "Be a server." Click on "Download the latest version of Shoutcast server." Click through the license terms. That's a lot of clicking so far, so take a moment, take a breath and flex your fingers. Ok, let's continue.
Click on "Download" for the Shoutcast WIN32 Console/GUI server. It's small and downloads fast. Now run the installer. The installation will put an entry in your Startup menu. Begin the Shoutcast server by selecting "Start->Programs->Shoutcast DNAS->Shoutcast DNAS GUI." Now click on the "Edit config" menu option located at the top. This will start the default text editor, opening the configuration file for the Shoutcast server. Follow all directions written in the configuration file.
Config values: The primary value to set is "MaxUser," which specifies how many users can connect simultaneously to your server. This is how you make sure your connection doesn't get overloaded and resources aren't wasted. The default is 24 simultaneous streams but, thanks to the thoughtfully included formula, we realize we only want to provide 8 simultaneous users with 24kbps streams. That adds up to 192kbps and leaves us a little bit of space to browse the Web on a 256kbps DSL connection. Note that even though we set this value to 8, it doesn't automatically mean 192kbps will be used all the time. The server won't use any bandwidth unless users are actively connected and listening. The other important value is (obviously) "Password" which should be changed to avoid hackers getting in to your server. The rest of the values can be left as they are for regular operation. (Feeling adventurous? If you want to play with some neat stuff, take a look at the "IntroFile" setting.)
Once you are done making changes, save the file, close the editor, and restart the Shoutcast server application. To do this, first choose "Kill Server" to close it. In case you accidentally close the console window, you can bring it back by clicking on the Shoutcast icon in your system tray next to the clock. After successfully closing the server, select "Start->Programs->Shoutcast DNAS->Shoutcast DNAS GUI" again to start it back up using your new configuration file.
So far so good. Take a moment to contemplate the relationship between Internet Ubiquity, your life and the hypothesized entropic heat-death of the Universe before moving on.
Now let's configure our Winamp player to be a DJ so we can program a live stream. Return to the Shoutcast download page and select "Be a DJ." If you don't already have a recent copy of Sonique or Winamp, you'll need to download and install one of them. Click on "Download the Shoutcast DSP Broadcasting Tools" and download and install them. This plug-in lets the player become your broadcasting program. Once you've installed it, launch Winamp and press Ctrl-P to bring up the Preferences menu.
By selecting "DSP/Effect" from the left column and "Shoutcast Source for Winamp" on the right column, a new popup window will appear. Ignore that window for a moment and click on "Configure" in the Preferences window. Make sure that "Advanced Recording Mode" is not checked and "Low-pass filter" is checked. The former is unnecessary and the latter is highly recommended. Return to that previously ignored pop-up window to enter information about the server you just installed, configured, and ran.
Do you feel like a secret agent in Mission: Impossible III yet? Wipe the sweat off your brow and let's keep on our mission.
We notice, thankfully, the defaults are set correctly in this pop-up and, lucky for us, we only need to change the server password. Click on the "Edit" button next to the "Server: localhost:8000" text if you wish to enter some descriptive text for your broadcast. If you aren't ready to announce your stream to the world, uncheck the "List on Shoutcast.com" box. Click "OK" when you've finished. If the "Format" displayed is not "MP3 @ 24kbps 22kHz" (or you wish to broadcast at a different bitrate), click on the "Edit" button next to it and set it accordingly.
Now, let's set up the MP3 files you wish to broadcast in Winamp by selecting them and then dragging and dropping them into the playlist window. Next, click "Connect" on that previous pop-up window to make it start streaming into your server.
If you see an increasing number next to the "Disconnect" button ("NNN bytes sent"), everything is working properly. If not, you should verify your server information (especially the password) and try again. If you didn't disable the option to be listed on Shoutcast.com, you can do a search and find your broadcast listed. Information about linking your broadcast to your website will be covered a few paragraphs below.
To view statistics on your broadcast, Shoutcast lets you open your Web browser to "http://servername:port/" where "servername" is the name (or IP address) of your server and "port" is the port you told it to use (probably 8000). The Shoutcast server also provides a few other options from that URL, including an administration area where you can log in (using the password you set for the server) and edit restrictions on who can listen, view log messages, etc.
For the purposes of this article, we're going to save ourselves (and maybe you) a brain hemorrhage and stop here. If you're interested in more advanced topics (such as using a live mic input instead of pre-encoded MP3 files), there is some good documentation in the README that comes with both the server and the Winamp plug-ins, and also at the Shoutcast home page.
Letting the World Know About It:
Once you are successfully broadcasting, you may wish to make a link to your broadcast from your website. Shoutcast has taken this into consideration and provides a simple URL you can give people which will generate a playlist file that (provided your listener has a compatible MP3 player) will immediately start up the audio stream. For our previous example, we'd use: <"http://my.computer.com:8000/listen.pls">.
For example: "Hey Sue, check out my live radio show by loading <"http://my.computer.com:8000/listen.pls"> in your Web browser."
It Still Needs to Be Said Dept.: Be polite in your emails and never send an e-mail announcing your streaming show to anyone who has not already asked to know. Sending unsolicited emails is called spamming and is frowned upon by Ms. Manners, The FezGuys and nice people everywhere. A more genteel way to let the world know about your streaming server is that link from your website.
The Winamp broadcasting plug-in can handle resampling your MP3 files (to reflect bandwidth availability) on the fly as necessary, so feel free to keep everything encoded at 128 or 192kbps. However, this does require more computer CPU so if the only reason you're making your MP3s is for streaming at 24kbps, you may as well encode them at that rate. Also, if you are streaming at a bitrate lower than 96kbps and want to go the extra mile, consider doing a little compression, normalization, and even removing (using equalization) the extreme highs and lows before encoding the audio file to MP3. Depending on your source material, this tends to result in somewhat more legible sound quality at lower bitrates.
Bitrate Breakdown:
Commonly used streaming bitrates and their subjective audio quality: Bitrate Sonic Equivalent 16kbps bad am radio 24kbps bad fm radio 56kbps passable fm radio 128kbps the mythical "near-cd" quality 192kbps 99 percent of your listeners will think it's uncompressed
Choosing MP3 for streaming is useful because, with so many MP3 players available, there's a good chance your listening audience will already have one installed. Plus, there's no overlooking the fact that MP3 will remain, in the foreseeable future, the most popular online audio format. Be clear about your purpose in streaming and adjust your bitrate accordingly. If you want dialup users to be able to browse while they listen then, sending a 56kbps feed will result in broken-up audio and slow-loading Web pages. Use 16kbps instead. It doesn't sound as good but it won't inconvenience dialup users. If you are planning on delivering a radio show to people listening on a DSL-connected computer while they do dishes or perform some other un-computer-related task, 128kbps would be appropriate. As always, keep in mind the copyrights involved with the music you choose to stream to avoid ASCAP, BMI and other collection groups burying you in lawsuits.
RealNetworks' proprietary high-quality audio codec (Cook) is technically "better sounding" than MP3, as is Microsoft's Windows Media and the QDesign codec used in QuickTime. Why, we hear you say, don't we use them instead?
Glad you asked! Since these codecs are not open source, their use requires licensing and that typically means you end up paying for the software to run them. The MP3 codec is practically free in comparison, or at least cheap enough for software developers to provide tools for next to nothing.
Besides requiring proprietary players to play the above-mentioned proprietary codecs, there are other reasons to avoid these better-sounding versions. If you want to run a RealServer, for example, you have to pay a per-stream (per concurrent listener) license fee for anything over the freebie 20-stream version, and it's expensive.
RealServer's top-of-the-line, 400-concurrent-stream product is a charming $54,420. Windows Media is free, but requires you to run Windows NT which is (to say the least) not desirable to many (and costs hundreds of dollars more than Windows98). The Quicktime server is free, but Macs aren't known to be the most stable server platform. The Unix versions are, well, not easy to use. But those are reasons, not excuses. Honestly.
If you want to stream other people's music without purchasing your own ASCAP/BMI licenses, you might find it worthwhile to use a site like Live365 or Wired Planet. They handle all the paperwork concerning copyrights. They also provide the bandwidth required to stream to thousands of listeners. This alone makes them a good choice, especially if you use a dialup modem or, gasp, have a popular enough radio show to require big bandwidth.
Setting up, configuring, and running a streaming server from your PC is only half the challenge. Now: what kind of sounds to make available? All Marillion, all the time? Your child's glorping and hooting at feeding time? Every recorded speech of Dan Quayle, played backwards? The possibilities are limitless. And seriously, if you can't get air time from the suits that own the terrestrial broadcast networks (surprise!), and you've got information that people (especially in a local community) need to hear, word of mouth will get around that you've got the dope online. We'll all benefit. The FezGuys welcome queries, comments and caterwauling.