How to Create Your Own Internet Radio Station With Icecast? — Step-by-step guide

Thevenel Joazard
6 min readNov 27, 2023

--

In this step-by-step tutorial, we will learn how to create an Internet Radio Station using Icecast and Butt (Broadcasting using this tool).

The Icecast and Butt Logo with a woman typing in the backrground. The title is Create your own Intenet Radio Station.

Creating your radio station may seem daunting, especially if you’re unfamiliar with the technical terminology. But fret not, as the internet age has made it much easier to turn your room into a buzzing radio hub with the help of Icecast — the streaming server superhero.

In this step-by-step tutorial, we will explain how to set up your online radio station using Icecast. We will cover everything from installation to configuration and beyond.

What is Icecast?

Icecast is a powerful open-source streaming server that allows you to broadcast audio content online. It provides a flexible and customizable platform for setting up and managing your radio station.

How to Install Icecast?

The installation process for Icecast varies based on the operating system you are using. Therefore, this tutorial will provide instructions for some commonly used operating systems such, as Ubuntu, Debian, CentOS, and Microsoft Windows.

Installing Icecast on Ubuntu or Debian:

1. Update Package List:

sudo apt-get update

2. Install Icecast:

sudo apt-get install icecast2

After executing the command, the installation wizard will prompt you to configure Icecast. You can configure it now or later when setting up your mount point. I selected “Yes,” but it does not matter now.

A screenshot where Icecast asks if you want to configure it.

Next, you will be prompted to enter a hostname where the stream will be served. You can use your IP address or website domain if you have one. In this tutorial, we will be using localhost, but you are free to adapt it according to your situation.

Adding localhost as hostname for Icecast configuration.

Then, you need to set up a password that will be used by your stream client to connect to the Icecast server. Instead of the default password “hackme“, it is recommended to choose a more secure one.

The default password is “hackme”, as you can see below.

A screenshot showing the default Icecast password “hackme”.

A new password for the source, we will need it for further configuration.

A screenshot showing the new password for the source.

Obviously, this step is crucial as it gives you complete control over your streams. In fact, it is important to ensure that the password you choose is secure enough, as shown in the screenshot below.

A screenshot showing the new password for the admin.

After the installation is finished, you will be able to see a screen that looks like the one below. Next, you will learn how to configure your Icecast server through its file configuration.

A screenshot showing that the installation is completed.

3. Configure Icecast:

Although you can configure your hostname and your password alongside the installation, it is common to also make modifications when the installation is complete as mentioned earlier. Hence, the main configuration file for Icecast is located at /etc/icecast2/icecast.xml. Then, you can edit the file using nano by executing the following command.

sudo nano /etc/icecast2/icecast.xml

In summary, this file contains everything related to your streaming server. Practically, you can modify everything according to your needs and purposes, including your admin user, your sources, and your relays. We’ll see only the most basic ones in this tutorial.

It is recommended to make a backup of this file prior to its modification as mentioned in its official documentation.

To start, the hostname is the most important section in the config file because it is the one people will use to connect to your stream. Also, you will need to provide a specific port for which your stream will be served. By default, the port is 8000.

The hostname block in the config file.

Secondly, the <authentication> this block is basically where you modify your user admin, your source, and relay passwords.

The authentication block in the config file.

Finally, you can specify a mount point by uncommenting the <shoutcast-mount> tag, if it is not provided, the default one is /stream. In the example below, you will need to use live.nsv as the mount point in your broadcasting software.

The mount-point block in the config file.

4. Restart Icecast:

After making changes to the configuration, restart the Icecast service:

sudo systemctl restart icecast2

5. Check Icecast configuration:

You can also see the Icecast server status by entering:

systemctl status icecast2
A screenshot showing that Icecast is running.

If you see anything different from the previous screenshot, verify if followed all the instructions properly.

6. Test Icecast:

If everything works as expected, when enter localhost:8000 in your browser you should see something like this.

A screenshot showing the Icecast server running in a browser.

Congratulations! Your server is well-configured. Get yourself a snack and be ready for the next step which is installing and configuring your stream.

Installing Icecast on CentOS:

1. Enable EPEL Repository:

sudo yum install epel-release

2. Install Icecast:

sudo yum install icecast

3. Configure Icecast:

Edit the Icecast configuration file located at /etc/icecast.xml.

sudo nano /etc/icecast.xml

Adjust the configuration according to your needs, setting <hostname> to your server’s IP or domain, and configure authentication.

4. Start Icecast:

Start the Icecast service and enable it to start on boot:

sudo systemctl start icecast sudo systemctl enable icecast

Installing Icecast on Windows:

On Windows, the installation is pretty straightforward. However, some features might not be available because most Icecast features, such as SSL certificates are only available on Linux.

1. Download Installer: Download the Icecast installer for Windows from the official Icecast website: Icecast Downloads

2. Run Installer: Locate the installer on your computer, usually in your Downloads Folder, run the installer, and follow the on-screen instructions to install Icecast.

3. Configure Icecast: The configuration file is typically located at C:\Program Files (x86)\Icecast\icecast.xml. Edit this file according to your preferences.

4. Start Icecast: Start the Icecast service. You might find an “Icecast2” service in the Windows Services Manager. Alternatively, you can start Icecast from the command line:

net start icecast2

Or through start > apps > Run Icecast (Console)

Thank you for reading, I hope this guide helped you set up your Icecast server. Actually, this guide contains two parts and you see the second part by clicking here.

--

--

Thevenel Joazard

I'm Thevenel, a computer science student who finds joy in teaching others. I write articles on thev-academy.com to help others understand topics related to CS.