Icecast Installation and Management

A Guide to Open Source Audio Streaming

Kerry Cox, Ph.D.

IT Director
Sorenson Media / GeneTree

Dedication

For my wife, Karen and for our three sons; Calvin, Andrew, and Jacob, and our daughter Kjerstin.

Table of Contents
Preface
Book Topics
Audience
About This Book
About The Author
Assumptions This Book Makes
Chapter Synopsis
A Simple Request
To Do Items
Acknowledgments
Introduction
What is Icecast?
Basic Use and Function
Possible Uses
Legal Issues
Example Deployment
Regarding the Online Version of this Book
Audio Fundamentals
MP3 Basics
What is "Lossiness"
Masking Effects
Simultaneous or Auditory Masking
Temporal masking
Frequencies
The Encoding Process
What Are Bitrates?
CBR Versus VBR
Bitrates Versus Samplerates
Audio Encoding Implementation
Sine Wave Encoding Programs
Other Considerations
Raw Power
Decoding or Playing Audio Files
Popular Decoders
The Anatomy of an MP3 File
Within the Header Frame
Decoding the Audio Frame
ID3 Space
Frames per Second
Getting to Know Icecast
Hardware Requirements
Tested Operating Systems
Testing Environments
Volume Adjustment
Encoding Raw Audio
Lame Encoding
Installing LAME
Ogg Vorbis Options
Command Line LAME
Lame CLI Options
Input Options
Other Encoders
Icecast Supported Encoders
Decoders
Older Icecast Releases
Which Version to Use?
Obtaining the Source
Installing from RPMs
Compiling the Code
Default Settings
Editing the Icecast Configuration File
Explaining the Configuration File
Starting the Icecast Server
Streaming Utilities for Icecast1
LiveIce
Included Features
Installing LiveIce
Modifying the LiveIce Syntax
Sample LiveIce Configuration File
Explaining the liveice.cfg Syntax
Automating the Configuration
Running LiveIce
LiveIce XMMS
Command Line Options
MuSE
MuSE's Main Interface
Installing the Icecast2 Server
Locating the Icecast2 Source
Using Subversion
Downloading from Subversion
Other Subversion-Hosted Modules
Checking the Libraries
Building the Subversion Code
Downloading the Icecast Source
Compiling from Source
Creating Directories
Default Icecast2 Directories
Setting Up Icecast2 for Windows
Examining the XML Files
Icecast2 XML Configuration
An Example icecast.xml File
Icecast2 Configuration Variables
Relay Settings
Mount Specific Settings
Path Settings
Logging Settings
Security Settings
Ices2 XML Configuration
Live Audio Streaming Configurations
Configuring a Static Playlist Stream
Ices2 Configuration Variables
Stream Settings
Input Modules
Playlist
Alternative Streamers
LiveIce-sn
Installation and Configuration
Randomizing Files in a Playlist
Defining Mountpoints
Streaming
Ices0
Configuring ices0
Starting the Stream
DarkIce
Example darkice.cfg Configuration
Starting the DarkIce Streamer
DarkSnow
Ezstream
Configuration Settings
Re-encoding ezstream
LiveIce XMMS
Oddcast for Linux and Windows
How DSP Plugins Work
Oddcast for Linux
Oddcast for Windows
Ogg Streaming under Windows
Running Icecast in an Production Environment
Starting the Icecast2 Server
Starting the Ices2 Streamer
Automating Server and Streamer Startup
Debugging Issues
Troubleshooting the icecast Server
Troubleshooting the Streamer
Troubleshooting the Client
Audio Conversion Tools
Converting MP3 Files to Ogg Vorbis
Required Components
Monitoring the Listening Audience
Default Methodologies
Monitoring Icecast1 Use
Determining Icecast2 Listenership
Accessing Stats via the Web
Using Analog
Customizing Webalizer
Implementing awstats with Icecast2
Additional Tools and Tips
Relay Streaming
Enabling Relaying Under Icecast1
Capturing Streaming Audio to Static Files
Tips and Tweaks
Spoofing Mime Types
Scripts
Appendix A - Links
Streaming Audio
Servers
Streamers
Informative Sites
Developer Sites
Appendix B - Glossary
Technical Terminology
A Terms
B Terms
C Terms
D Terms
E Terms
F Terms
G Terms
H Terms
I Terms
J Terms
L Terms
M Terms
N Terms
P Terms
Q Terms
R Terms
S Terms
T Terms
V Terms
Appendix C - Sample Icecast and Ices Configuration Files
Icecast
Sample icecast1 icecast.conf Configuration File
Sample icecast2 icecast.xml Configuration File
Ices
Sample ices.xml Configuration File
Appendix D - Legal Limitations and Information Regarding Audio Streaming
Understanding the Legal Implications
The Basics
The New Law
Analysis Model
Online Music