Running a Net Radio Station With Open-Source Software
Five great minds got together and decided that broadcasting over the Internet would be cool—plain and simple. Five great minds quickly turned to seven and an Internet radio station at http://www.opensourceradio.com/ was born. The open-source Community has made this internet radio station possible by supplying all the software components. Two main hardware components are necessary to broadcast on the Internet: a broadcast server and an encoder client. It is not a requirement to separate the server and the client, they can be run on the same machine, but we chose to use two different systems at two different locations to generate our output.
We play MP3-encoded material during our radio show. LAME and Liveice convert the audio output to MP3-encoded specifications so anyone with xmms or Winamp can decode our signal. Broadcasting MP3-encoded material at this time does not require any licensing, however it is anticipated that in the year 2001 royalties will be collected by the agency holding the patent. You can obtain more information regarding these issues at www.mp3licensing.com. If the company that holds the patent imposes royalties, we plan to move to a different encode, decode schema. Ogg Vorbis is a patent and royalty-free compressed audio formatter that we anticipate moving our broadcast server to in the near future. Ogg Vorbis is available at www.xiph.org. Also, the MP3 licensing does not cover issues regarding broadcasting copyrighted material to a public audience so if you plan to run an Internet radio station, be certain you have permission to broadcast anything for which you do not hold the copyright.
We use standard hardware because we found quickly that obscure components introduce unnecessary delays in the setup process. The rest of this article details the setup of each component in our internet radio station. We also describe any problems that we encountered along the way. Please understand that there are a million ways to create an internet radio station, and the choices we made were not due to any alliance with any vendor—we simply made it work in the following mannner.
Figure 1 gives an overview of our network that starts when it gets our voices to an MP3 player. We speak into microphones, the microphones convert our voice to analog and the mixer condenses the stream into the line-in on the encoder client that runs Liveice. Liveice picks up the stream and uses LAME to convert our voice from analog to digital. Liveice then sends our digitized stream out onto the Internet to our defined broadcast server that runs Icecast. Icecast takes the incoming stream and broadcasts it onto the Internet at both the destination and port www.opensourceradio.com:8000. Once it is on the Internet, any decoding client, such as an MP3 player, can pick up the stream and decode our digital stream to audio output.
We wanted to succeed right away so we acquired a domain, static IP and a server with open ports. A static IP and domain are not necessary, but by making everything static we don't need to inform our listener base every time our ISP changes our IP. We also connected our server to the Internet via a T1. This gives us the bandwidth to provide high-quality broadcasting. Our broadcast server, Linux3 and our static IP are provided by www.doitwebcorp.com. The server is a standard networked PC running Red Hat Linux 6.2.
We started by downloading the Icecast server software from www.icecast.org. We chose to use version 1.3.7 because it was considered the most stable release available at the time. We used the default installation that locates the binaries in /usr/local/icecast. The configuration of the Icecast server is very simple, you only need to change one file. The icecast.conf file is very informative. The sections we changed allow the encoder client to send streaming audio to the broadcast server that will be serving to the Internet. Our server is set up with the IP address 63.101.145.11 with the registered domain of www.opensourceradio.com. If you compare the default icecast.conf file to our example icecast.conf file, you will see the fields that we changed. This is only a portion of the icecast.conf file, as it is a very large file.
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- Readers' Choice Awards 2011
- 100% disappointed with the decision to go all digital.
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- The Linux powered LAN Gaming House
- Why Python?
- Python for Android
- Employment Posters
1 hour 34 min ago - Sure the best distro is
2 hours 54 min ago - BeOS was the best
5 hours 37 min ago - I use Wireshark on a daily
10 hours 8 min ago - buena información
15 hours 15 min ago - One important "bucket" that I didn't note (désolé si qqun deja d
16 hours 15 min ago - Gnome3 is such a POS. No one
1 day 1 hour ago - Gnome 3 is the biggest POS
1 day 1 hour ago - I didn't knew this thing by
1 day 7 hours ago - Author's reply
1 day 11 hours ago







Comments
Re: Running a Net Radio Station With Open-Source Software
This was far too indepth for someone with no experience of setting up Internet Radio. It would have been really helpful to have some basic starting points for laymen!!!!