This manual covers the basics of internet radio, as well as many specific recommendations for getting a radio station online. Before using the Key to Internet Radio wizard, we recommend making sure you are familiar with everything in sections 1 through 5 of the manual.
The rest of the manual covers details on different options for computers, software, servers, etc. Unless you have an overwhelming curiosity about everything streaming-related, there's no need to read all of this. We recommend using the Wizard to narrow down your options, and then returning to specific sections of the manual for details on the options that are most viable for you.
Note: When describing specific options, we use the following icons as a shorthand:
![]() | Cost |
---|---|
![]() | Amount of work required |
![]() | Amount of technical expertise required |
|
Internet streaming, also known as webcasting, is a method of sending content across a network. If you stream a music file from your computer to a friend's computer, your friend can listen to the music as it's being downloaded.
Streaming is different from podcasting, in which your friend would download an entire file and then play back the file from their computer's hard drive. In streaming, your friend only ever stores a short bit of music on their computer at a time. You can think of the difference between streaming and podcasting like you would the difference between a shower (where the water washes over you and then goes down the drain) and a bath (where you collect all the water at the beginning and keep it in the tub for as long as you want).
Streaming is not just for music. You can stream audio, video, or any other type of content. YouTube and Hulu are both popular video services that stream. However, this manual will focus specifically on audio streaming because that's the most common type of streaming used by radio stations. Most radio stations that stream offer a "Live Stream". The station streams the same audio that is going out on the air, and listeners can hear it in almost real time. It's also possible to offer archived programming or additional content for "on-demand" streaming. There are some specific laws about what content you can play in an on-demand stream, so if you decide to stream on demand, be sure to check out the "Digital Millennium Copyright Act" section below.
Streaming is a great way to reach people outside of your on-air broadcast range. It's also a good way to reach people who get most of their media through computers or mobile devices, which often offer internet connections but can't receive FM radio. While an on-air broadcast (generally) restricts you to sending a single signal at a time, you can provide as many streams as you like (given enough bandwidth) with widely varying content. This may be a good option for getting new people involved at a station if you have more programmers than you can fit into a single schedule.
There are also fewer start-up costs associated with streaming than with FM broadcasting. If you're working to start a on-air station but don't have the money yet to buy all of your transmission equipment, you may consider building a studio and setting up a webstream in the meantime. This will give you a chance to train programmers and start raising awareness and money over the internet before you launch your on-air broadcast.
While streaming provides some great opportunities, it also comes with some serious limitations. To keep an FM station on the air, the only ongoing cost (aside from things like rent and maintenance) is power. Power costs are the same no matter how many listeners tune in. For a streaming station, you'll need access to the internet, which generally requires paying an internet service provider (ISP) and/or a hosting service. The more people who listen to your stream, the more bandwidth you'll need to pay for. This means that it's harder to support a growing audience with a webstream than with an on-air broadcast.
Additionally, a lot of people in the US, especially in rural areas, still don't have access to the internet. In 2009, 21% of adults in the US didn't have internet access in their homes, and another 7% only had dial-up access (which means only being able to receiver lower-quality streams). [http://www.pewinternet.org/~/media//Files/Reports/2009/Home-Broadband-Adoption-2009.pdf]
This certainly doesn't mean it's not worth streaming. It simply means we want to encourage you to think closely about the needs of your community and consider a webstream as a supplement to an on-air broadcast rather than a replacement for it.
In a typical internet radio station, an audio source produces an analog electronic representation of sound. A stream encoder converts the analog sound into a digital format and breaks it up into smaller chunks, which are streamed to a streaming server. The streaming server sends out the same audio stream to listening devices such as computers and smart phones.
To get an idea of possibilities, the following two sample configurations are in at the ends of a spectrum of cost and ease. The Wizard is designed to help you find a configuration which is right for your situation.
Initial Cost | Monthly Cost | ||
---|---|---|---|
Encoder | Barix Instreamer | $395 | 0 |
Streaming | Live365 Intro royalty-included package (*) | (setup fee) $199 | (one 96k stream) $136.50 |
Total | $594 (**) | $136.50 |
Initial Cost | Monthly Cost | ||
---|---|---|---|
Encoder | Ices for Linux | $0 | $0 |
Encoding Computer | PC-compatible less than 10 years old | (donation) $0 | $0 |
Encoding Operating System | Ubuntu Linux Software | $0 | $0 |
Streaming | Dreamhost entry-level VPS (**) | $0 | $15 |
Streaming Software | icecast | $0 | $0 |
Licensing/Royalties | Paid to individual PROs | $0 | $111 (***) |
Total | $0 (*) | $126 |
Any time you stream content that someone else created, you need to consider the legal ramifications. Most music and other content that you come across is likely to be copyrighted. In order to legally play copyrighted content on your internet radio station, you have to pay licensing fees to the composer or performer. There are a few organizations that collect these fees from broadcasters and distribute some of the money to composers and performers. In the US, the main Performing Rights Organizations (P.R.O.s) that collect royalties for compositions are BMI, ASCAP, and SESAC. Sound Exchange is another P.R.O. that licenses performances rather than compositions.
If you only play content that is not copyrighted, such as content covered by a Creative Commons license or content for which the copyright has expired, then you don't need to pay royalties to a P.R.O. However, it is illegal to play even one copyrighted song without paying royalties. Most broadcasters pay for "blanket" licenses from all four P.R.O.s to ensure that anything they play is covered. If you paying licensing fees for an on-air broadcast, those fees may not cover your webstream. See Licensing recommendations for more details.
In addition to licensing fees, the Digital Millennium Copyright Act of 1998 (DMCA) imposes some specific rules on what material you can stream. In a 3-hour period, you can play no more than:
The DMCA requirements apply to internet radio, but not to FM radio. If you're hoping to start a stream that mirrors your on-air programming, but some of your on-air shows don't follow the DMCA rules, you may want to automate your stream encoder so it only streams the programs that can legally be streamed.
The audio source is the sound you want to play on your internet radio station. This could come from a microphone, a CD player, or just about anything else that can represent sound as an electrical waveform. Typically the audio is sent to the streaming encoder through an 1/8" cable that plugs into a "line in" port on a computer. The computer's sound card then converts the analog audio signal into a digital signal that can be encoded and streamed.
This manual assumes that you already have an audio source set up. If you are an FM radio station and you have an "on air" studio in use, then your streaming source will likely be an output from your console. If you don't have a full-fledged studio, you could start streaming with something as simple as a playlist of pre-recorded MP3 files on a computer- see the Handbook on Radio Automation for more details. However, we recommend starting non-automated programming as soon as possible to ensure that your station is engaging the programmers and listeners. If you'd like more information on setting up a studio, see our Studio Info page.
It's best to stream audio that has been gently processed. When a computer converts analog audio to digital audio, it clips any levels that are higher than the maximum level it can represent. This causes distortion, which sounds nasty. By processing the audio before the analog-to-digital conversion, you can limit the levels in a way that sounds less distorted. (See our notes on Audio Processing and Compressors for a more thorough discussion of audio processing.)
For your webstream, we recommend using an audio processor with a threshold set just below your sound card's clip point. You can find this point by playing a sample through the processor, feeding it to your computer's sound card, and recording it. Look at the resulting digital audio sample in a program that shows you the resulting digital waveform, and increase the limiting on your audio processor until you can no longer see that the sound card is clipping the audio. If you can't afford an audio processor yet, you can start streaming without one - just be sure to monitor your levels carefully, and listen to the audio that is streaming to make sure it's not being distorted.
In order to transform your analog audio signal into a digital stream, you'll need a computer capable of running encoding software. We call this the encoding computer to differentiate it from the streaming computer. Typically the encoding computer is a desktop computer running Linux, Macintosh OS, or Windows, but there are also dedicated streaming encoders such as the Barix Instreamer. If the computer is only being used for streaming, then it doesn't need to be too fancy. You'll need a sound card and a network card for connecting to the internet. A higher quality sound card will produce a higher quality stream, so many people upgrade the sound card when using a vintage computer to stream, but old sound cards sometimes work very well, so try it first.
Many computers can run the free, open source, and very capable Linux operating system. Linux comes in many different varieties, called distributions. We recommend Ubuntu Linux, a derivative of Debian Linux, on PC-compatible hardware for people who aren't already Linux gurus. With a donated computer, free operating system and no-cost open-source stream encoding software, Linux can be the basis for a zero-cost encoding solution. Linux has a slightly higher learning curve than Windows or Macintosh OS for people who aren't familiar with it, but is generally easier to debug for people who are familiar with it.
You can download Ubuntu Linux, purchase CDs or DVDs for installation, or install over the network. To try it out without affecting the existing software on a PC, and without installing any software, boot from a downloaded or purchased "live CD".
Ubuntu runs best on computers with at least a 1 GHz processor, 512 MB of RAM, and 5 GB of hard drive space. If you have an older computer that doesn't meet your requirements, you can try a more minimal distribution of Linux such as Damn Small Linux, but this will take a bit more set-up work. The instructions for Linux-compatible software in this manual may not work with distributions other than Ubuntu.
Most PCs manufactured in the last 10 years are capable of encoding a stream in Windows. If you use a donated computer that already has Windows XP or newer installed, you can probably use the existing operating system without re-installing it. A firewall is a good idea, as is virus protection if the computer is ever used for anything other than encoding and sending the stream.
Streaming in Windows works best with at least a 1 GHz processor, 512 MB of RAM, and 15 GB of hard drive space, but you can get by with a 300 MHz processor, 64 MB of RAM, and a 2 GB hard drive.
While new Macintosh computers can be cost-prohibitive for a lot of radio stations, donated Macs can work nicely. A Macintosh solution should have OS X 10.3 or higher and at least a 300 MHz processor, 512 MB of RAM, and 3 GB of hard drive space.
See section 9.5.
When your sound card converts analog audio to digital audio, it preserves as much information about the original analog signal as possible. The resulting digital signal has a high data rate (also called a "bit rate"), which means it would take a lot of bandwidth to stream it. A "CD quality" audio file has a data rate of 1.4 Mbps (that is, 1.4 million bits per second). To stream a 1.4 Mbps audio stream to 10 listeners, you'd need 14 Mbps of bandwidth. That's a lot of bandwidth for a small audience! What's more, users without high-speed internet connections won't be able to listen to a 1.4 Mbps stream. Webstreamers address this problem with software that compresses the audio before streaming it. Most CD quality audio can only be compressed to around 500 kbps (500 thousand bits per second) without losing data. However, you can make the signal a lot smaller without much loss in quality with a method called "perceptual coding". Perceptual coding involves eliminating some of the information in the audio stream that the brain doesn't pay attention to, while keeping the information that the brain notices. The resulting signal can be much smaller than the original signal, but to the listener sounds similar to the original signal. A signal encoded at 192 kbps using perceptual encoding is said to be comparable in quality to digital radio. 96 kbps is "FM quality", and 32 kbps is "AM quality". These comparisons are somewhat subjective because they compare digital signals to analog signals, which are fundamentally different, but they're based on tests with actual listeners who compare the two signals.
One task in setting up your webstream is to decide what data rate to stream. If you want dial-up users to receive your stream, you'll need to provide a low data rate stream. However, you may also want to set up a second copy of the stream at a higher rate for broadband users. We recommend using a 24 kbps stream for dial-up listeners and an additional 96 kbps stream if you can afford it. You'll also need to choose a format. There are a number of different algorithms for perceptual encoding, each of which results in a different file format. The AAC format is one of several not discussed below, which is not a reflection on its quality or utility.
The most ubiquitous streaming format these days is MP3, associated with files that have a ".mp3" extension. The MP3 standard was developed by the Motion Picture Experts Group (MPEG) and was first released in 1993. Unfortunately, there are a host of legal problems surrounding the MP3 format. Multiple organizations have patents on the MP3 standard, and they assert that it is illegal to create software that encodes or decodes MP3s without paying licensing fees. As a result, some audio encoders and players aren't compatible with MP3, and others that are may be infringing on patents.
Vorbis is a free and open source encoding standard created by the Xiph.Org Foundation. The Vorbis standard is most commonly used with the Ogg container format (associated with ".ogg" files), so the name Ogg Vorbis is used to refer to Ogg files that use Vorbis encoding. Ogg Vorbis is currently less widely used than MP3, but has recently been gaining in popularity. Most listeners prefer Vorbis encoding over MP3 at lower bitrates (that is, for files with more compression), but encoding quality is subjective and audiophiles don't all agree.
What is metadata? (or, what's playing now?) The data in your audio stream is the digital representation of your audio broadcast. The data about the data, or metadata, could be the current show name, which might come from a station automation system, or title/artist for music, which might come from either an automated music playing system, or from a DJ spinning CDs. Listeners normally see the metadata in their player software.
Each encoder has its own method(s) for connecting your metadata to your listeners, but there are generally two methods. The first method, which works with every encoder and every stream server except the ones by RealNetworks (who use different methods), is to use a special URL on the stream server. Think of it as filling out a web form on your stream server, automatically, with the title and artist or other information. Your stream provider should provide the URL for your stream, or if you run your own icecast server, the documentation gives the URL.
The second method is specific to each encoder, so you'll need to read about each one.
Ices is free and open source live audio stream encoding software for Linux, supporting the Ogg Vorbis stream format. Since you'll generally be on your own installing Ices, here are more details (for Ubuntu Linux installation) than we give about the other encoders.
sudo cp /usr/share/doc/ices2/examples/ices-alsa.xml /etc/ices2.xml |
XMLFILE=/etc/ices2.xml |
sudo cp /usr/share/doc/ices2/ices.init.example /etc/init.d/ices2
sudo update-rc.d ices2 defaults sudo mkdir -p /var/log/ices |
Metadata updates through ices are easy to accomplish, see the metadata and metadatafilename information in the ices2 documentation.
Made by Barix, the Instreamer is sold through several partners including StreamGuys who resell it for US$395 and offer this set-up video. The Barix can stream via any of the servers mentioned below except RealNetworks, and doesn't appear to support Ogg.
For Ubuntu Linux, install the package "icecast2", then follow instructions in /etc/default/icecast2 or consider this more thorough set of instructions (ignore the parts about "ices2" if you use a different encoder).
Deeper documentation is available from icecast.org and in the example set-up files shipped in the folder /usr/share/doc/icecast2.
Tip! only use letters and numbers in your icecast2 passwords.
Tip! locate and monitor the icecast2 error and access log files (usually located in /var/log/icecast2) until you get things working, especially to see if passwords are working.
Depending on how you handle royalties, you may need listener statistics, for example TLH (Total Listener Hours). If you are running your own icecast server, the two methods used are to analyze the server log files with software, or to constantly poll your icecast server for user statistics for later analysis. These methods are beyond the scope of this manual.
If you meet the terms of use and want to use giss.tv to host your stream, you can register with them for a mountpoint.
The Flujos Collective put together an excellent tool called Flujos Vivos that allows users to stream from giss.tv servers using open source software on a Live CD that can run on nearly any computer with an Intel processor. The documentation is mainly written in Spanish, but there may be additional English language documentation in the near future. For more information, write to contacto@flujos.org.
Helix servers are available for both Windows and Linux and are very capable, which unfortunately means it can be difficult to set them up for simple tasks without technical support.
To estimate the recurring monthly cost, use the calculator on their web site (Streaming Services -> Live Streaming) A good initial number of listeners for a single stream is 25, because that allows cost comparison with Live365's entry-level unlicensed single-stream package. If you are considering both a high-fidelity and low-fidelity stream, use their calculator twice, specifying 96k and 24k respectively for the stream speeds. Their calculator also allows you to preview future expansion costs. Basic set-up assistance and a month of technical support are free. Streamguys offers at 10% discount to radio stations that are members of NFCB.
Streamguys requires you to arrange the content licensing for your stream(s) on your own.
Live365's initial US$200 set-up fee (sometimes waived during specials) includes assistance for helping customers get started, so they are a good choice if you don't want to become streaming tech experts.
Live365 offers a 15% discount on monthly fees to NFCB member stations, as well as a 50% discount on the set-up fee.
If you run a server at your station, you will need to have a fast-enough internet connection to service your listeners. If the server is located elsewhere, you may need to purchase additional bandwidth from your provider. This is how to estimate what is needed.
There are a large number of possible streaming speeds. We only discuss a low-fidelity monophonic stream (24k) and high-fidelity stereo (96k) and the principles will apply to other speeds.
A 24k stream means 24,000 bits per second of data, however the network protocols require a bit more, so a somewhat better value for estimation is 10% more, or 26,400 bits per second, and 96k plus 10% is 105.6k. To service 20 listeners at "96k", you'll need around 28*105.6k or 2112,000 bits per second, or 2.1 "megabits(m)" per second.
Part of your consideration for running your own on-site server is which internet connection upload speeds are available in your area and for what cost. A typical inexpensive DSL connection can send up to 256 kbps to the internet (upload speed), and you could probably broadcast to two "96k" listeners or 9 "24k" listeners if the link was otherwise unused.
Business-class cable internet may offer 3 mbps upload speed, which would service up to 28 listeners at 96k. As fiber optic connections become more common, such as FiOS, upload speeds of 7 mbps or more are becoming available at reasonable prices, which would service 66 listeners at 96k. If you need more speed than is available or affordable, the next step is to either use a provider like Streamguys or Live365, or to host your server in a location, like at your ISP, which has a lot of bandwidth available.
If you host your server at your ISP, or through a web hosting provider like Dreamhost or Linode, they usually can provide a lot of bandwidth, and the complexity is cost. Not unlike cell phone providers, each vendor has a different set of plans and costs for bandwidth. You can use your listener bandwidth estimates to help, and whether your server is on site or at a provider, you can set a maximum-allowed number of listeners which is a good idea with some bandwidth price structures.
As mentioned in Legal concerns, if you stream any copyrighted content, you are legally required to pay royalties to the organizations that license the content. If you have plans to stream only content that is not copyrighted, congratulations! Otherwise, you'll probably need to make arrangements with the four Performing Rights Organizations (PROs) that handle the licensing for most of the content you'll come across: BMI, ASCAP, SESAC, and Sound Exchange. BMI, ASCAP, and SESAC license musical compositions. They all license music from a variety of genres, so it you play any licensed music, you'll probably need to pay all three. Sound Exchange licenses individual performances.
Most of the cost structures for these organizations are based on Total Listening Hours (TLH) or Aggregate Tuning Hours (ATH). You TLH or ATH is equal to the number of people listening to your stream multiplied by the number of hours they listen, totalled over a year. For example, if you had 50 people on average tuning into your stream for a year, your TLH would be (50 listening hours/hour)*(24 hours/day)*(365 days/year) = 438,000 listening hours. Some licensing agreements refer to "Sessions". Sessions are similar to total listening hours except that if a listener tunes in for under an hour, it still counts as a full session. You can calculate sessions by rounding up the number of hours someone listens - a 15 minute listening period is one session, and a four hour and 15 minute period is 5 sessions. If you haven't streamed before, it will probably be hard to estimate how many listeners you will have. We generally recommend that you start with the cheapest option available, and change your plan if you start approaching the listener limit.
Often called simply "remotes" by broadcasters, live remotes involve broadcasting (over radio and/or internet) audio which comes live from a location away from the studio. Commercial radio stations often set up live remotes at car dealerships or other businesses.
The simplest live remote is a telephone call to the studio which is then patched into the broadcast at the studio, and this is quite satisfactory for important events that would otherwise be missed entirely and some in-person reporting situations. If audio sources other than the person holding the phone are desired, a more serious "remote broadcast" set-up works better.
Cost-effective high-quality remote broadcasts can be accomplished with internet streaming, as long as your station has a connection faster than a telephone modem, with a much lower link cost than in the past where custom radios and/or modems were used.
The simplest equipment needed is a laptop computer connected to the internet. Many venues have wired or wireless (WiFi) these days. When that isn't available, a 4G wireless connection has sufficient speed, and a 3G wireless connection will conduct a highly-compressed stream (thus lower fidelity) at 24k or perhaps a little faster. A more typical equipment set-up adds a small audio (or USB) mixer, one or more microphones, and some adapter cables for patching the venue's PA systems into the mixer (probably the same cables you in a field-reporting kit). A cell phone for talking to the studio is usually a good idea too, and can help you figure out how long the signal delay is from the remote to the studio, and deal with it somewhat.
The above block diagram shows the typical set of connections, and it can be confusing at first. To break it down, first think of the situation at the studio. Usually stations have a computer allowing the DJ to play pre-recorded announcements, PSAs, shows, music, or even internet audio streams into the mixer for broadcast.
During a live remote, the DJ "tunes in" to an internet stream which originates from the remote location, just like tuning to any other internet broadcast, using Winamp or some other audio stream player.
From the remote perspective, they are using the laptop to encode the audio stream as usual, and the only slight difference is that they send it to a broadcast server which only will have a single listener -- the DJ at the studio. Sometimes it is useful to use the same laptop to listen to the stream at the remote location too, to see if it is skipping or anything.
If you are considering using Linux on your remote laptop, be aware that darkice, the encoder we recommend for stationary station encoding, has no level meters, so you may prefer to encode instead with idjc (internet DJ console) or vlc or audacious which are beyond the scope of this manual.
The broadcast server used for live remotes can be run at your station because most internet connections have more "download" bandwidth than upload bandwidth, but be aware that some ISPs may prohibit "servers" on your internet connection depending on what plan you have purchased. Another inexpensive option is giss.tv. If you host through Live365 or StreamGuys, ask them about a server to use for remote broadcasts.
Here is a checklist of costs related to internet streaming to use use as a guide for evaluating the streaming options. Not all of these costs apply to every situation.
Sample Listen Now Link! | <a href='http://my.streaming.host:8000/hifi'>Sample Listen Now Link!</a> |
That direct link to your stream works fine, but it is more flexible to link instead to a playlist containing the link to your stream:
Sample Listen Now Link! | <a href='http://wxxx.org/playlist.m3u'>Sample Listen Now Link!</a> |
The playlist m3u
file is a simple text file listing things to play, one per line.
It might contain, for example:
That way the listener will hear three things,
psa.mp3 (which might be a public-service announcement),
ad-trade.mp3 (which might be an advertisement or underwriting for the people donating your streaming bandwidth),
and finally your live broadcast.
You can add or change the playlist easily to, for example,
rotate underwriting, give news or other alerts,
solicit donations,
cross-promote other programming,
thank listeners or other people.
Even if your playlist only contains your broadcast stream at first,
using a playlist makes it easy to insert other content later.
http://wxxx.org/psa.mp3
http://wxxx.org/ad-trade.mp3
http://my.streaming.host:8000/hifi
If you are still making up your mind about which type of software you prefer, this opinionated letter concerning using open formats at WBUR and this case study of KRUU (by a self-interested vendor), and this note from a well-known radio engineer (who argues among other things the community radio and open-source software communities are similar and natural allies) present the less-well-known side of things.