Introduction

This chapter covers the basic definitions of icecast and related utilities. It explains what items are required from a hardware perspective in order to stream audio over the Internet. It also looks at any additional software programs, libraries or dependencies needed by these software applications. The basic hardware needs of a standard icecast audio server are minimal. But, depending on your configuration and streaming needs these requirements may be scaled to match the listening audience. This chapter also briefly discusses legal issues surrounding the current conundrum of audio and online music streaming and listening.

What is Icecast?

Icecast is an audio broadcast system that manages both music and voice streaming. Typically, icecast and its streaming utilities use both MP3 and Ogg Vorbis formats. Listeners can connect to icecast servers using a variety of client applications. This means there is basically no limitation to the types of clients used by listeners or the formats in which icecast can broadcast.

Icecast has been around for several years now and is used by hundreds of administrators and is heard by thousands of listeners. Chances are good that if you have ever listened to radio stations over the Internet they were using icecast or some related open source technology for their streaming needs. Icecast continues to grow in popularity. Users of other proprietary tools such as Shoutcast, Real Audio, and Windows Media are discovering the advantages of open source technology. Compatibility between these media formats is also merging as client applications interchangeably listen to differing formats.

Icecast and the many programs outlined here are nearly all licensed under the terms of the GNU GPL. If not the GPL, then something similar that also facilitates the open dissemination of source code. The Icecast Project home page is located at http://www.icecast.org/. Source code, related software, documentation and links to other streaming audio sources are available at this site. The icecast program requires additional audio libraries and a streaming application to which listeners connect. This application forks the audio off the icecast server to client machines connected via a network or the Internet. Together these programs comprise the Icecast Project.

When referring to the project itself, the term Icecast is uppercased. The Icecast Project includes a variety of other programs. When discussing only the icecast program, the name is lowercased.

There are a variety of streamers currently available for use with icecast. Test several and decide which works best for you. Some are designed to operate with icecast1 such as LiveIce and MuSE, while others are designed specifically for icecast2. These include ices2, darkice, LiveIce-ng and ezstream. This latter group is designed specifically to stream Ogg Vorbis, though some also utilize the MP3 audio format.

There are other applications designed to work outside of Linux and run on other platforms. These are covered in detail later in this book. More information is provided to users on installing, configuring and operating the more popular and robust applications.

To run icecast port 8000 must be open to the outside world. Originally ports 8000 and 8001 were used. This has since been isolated to port 8000. However, any other port greater than 1024 may be utilized as long as you define it in the icecast and related XML configuration files. I have often seen other icecast stations use ports 8001, 8010, or other variations based on ports 8000 and above. For beginning users still testing or troubleshooting their install, use port 8000. Once a functioning icecast server is in place consider using other TCP ports. consider also that your personal or corporate firewall should allow access to your icecast server via port 8000. If the icecast server is meant to serve an internal network, major firewall changes should not be necessary.