The Unofficial Icecast HowTo

A Hands-On Guide

Kerry J. Cox, Ph.D.

Sr. Infrastructure Engineer
Family and Church History, familysearch.org

Table of Contents
1. Introduction
1.1. Document Version
1.2. What is Icecast?
1.3. Basic Use and Function
1.4. Example Deployment
1.5. Regarding this HowTo
1.6. Revision History
1.7. Contributions
1.8. Feedback
1.9. Copyright information
2. Requirements
2.1. Hardware Requirements
2.2. Tested Operating Systems
2.3. Test Layouts
2.4. Volume Adjustment
3. Icecast1 Installation
3.1. Downloading the Source
3.2. Compiling the Code
3.3. Configuring Options
3.4. Sample Configurations
3.5. Using a LAME Encoder
3.6. Streaming Utilities
3.7. LiveIce
3.7.1. LiveIce for Icecast2
3.8. Some Musings on MuSE
3.9. MuSE Main Interface
3.10. Checking Streaming Status
3.11. Enabling Relaying Under Icecast1
4. Icecast2 Installation
4.1. Using CVS
4.2. Other Modules from CVS
4.3. Checking for Libraries
4.4. Downloading from CVS
4.5. Downloading the Source
4.6. Compiling from Source
4.7. Creating Directories
4.8. Directories and Files Under Icecast2
5. Sample Configurations
5.1. Icecast2 Configuration
5.1.1. Sample icecast.xml
5.2. Icecast2 Configuration Variables
5.2.1. Limits
5.2.2. Authentication
5.2.3. YP Directory Settings
5.2.4. Misc Server Settings
5.2.5. Relay Settings
5.2.6. Mount Specific Settings
5.2.7. Path Settings
5.2.8. Logging Settings
5.2.9. Security Settings
5.3. Ices2 Configuration
5.3.1. Configuration for Streaming Live Audio
5.3.2. Configuration for Streaming a Static Playlist
5.4. Ices2 Configuration Variables
5.4.1. Preliminary Settings
5.4.2. Stream Settings
5.4.3. Input Modules
6. Running the Server
6.1. Starting the Icecast2 Server
6.2. Starting the Ices2 Streamer
6.3. Automating Startup of Both
6.3.1. Starting ices2 as a Regular User
6.3.2. An Alternative Startup Script
7. Utilities
7.1. Accessing Stats via the Web
7.2. Pull Relaying Using Icecast2
7.3. Relaying a Shoutcast Server from Icecast2
7.4. Converting MP3 Files to Ogg Vorbis
7.5. Tips and Tweaks
8. Graphically Logging Listeners
8.1. Logging Listeners
8.2. Configuring Apache
8.2.1. Testing Apache and PHP
8.3. Using Analog
8.4. Customizing Webalizer
8.5. Using awstats with Icecast2
8.5.1. Requirements and Setup
9. Troubleshooting
9.1. Troubleshooting the Server
9.2. Troubleshooting the Streamer
9.3. Troubleshooting the Client
9.4. Security
10. Additional Applications
10.1. Oddcast
10.2. Oddcast Encoder Fields
10.3. Ogg Streaming under Windows
10.3.1. Icecast Station Browser Plugin
10.4. Darkice
10.5. Example Darkice Configuration
10.6. DarkSnow
10.6.1. Initial DarkSnow Screenshot
10.6.2. Secondary DarkSnow Screenshot
10.6.3. Tertiary DarkSnow Screenshot
10.7. Ices0
10.8. ezstream
10.9. Scripts
11. Other References and Links
11.1. Acknowledgements
11.2. Stations Using Icecast
11.3. Custom Setups
11.4. Other HOWTOs
11.5. Things To Do
12. Epilogue
12.1. Summary
12.2. Things to Work On