Note: I will be updating this page. I’m publishing it now because I’m experimenting with going live with this post.
It’s a hodge-podge of applications to cobble together to get a live stream working. Quite frankly I can’t believe I got it to work at all. You need a streaming server, you need to open a port on your router, use a dynamic DNS service, a dynamic IP update client, a streaming tool, and an application to stream the audio. I’m not sure I understand how it all works. But… it works!
Here’s what I did.
Start with Icecast
Download an audio server application called Icecast. This application connects to the open Internet allowing your listeners to click on a link and play the stream. My stream is coming from a 10 year old PC running Windows 10. The instructions on the Icecast site were not friendly to me because I don’t know or understand the terminology. But here’s what I did.
- Downloaded the executable
- Install it and open up the config file (icecast.xml) and change the passwords and the admin name. This is important to do before you start the software and do anything else because your computer will be open to incoming connections from the Internet.
- You need to know the IP address on your local network of your computer.
- Run the Icecast Console. It will open a command line window. Leave that open. If you close it you’ll cut your stream.
- Use a browser navigate to the IP address of your machine and port 8000. It should look like, http://192.168.x.x:8000. If Icecast is running properly you should see an Icecast Status page.
- Navigate to where Icecast is installed on your computer and find the icecast.xml file. You’ll need to change the default passwords from “hackme” to something else. You’ll find them under the <authentication> tag. If you don’t your machine will be vulnerable. Don’t skip this step.
Open port 8000 to the Internet
The instructions for doing this will be different depending on your network router. I have an Eero wireless mesh network in my home. The Eero is my router. To open port 8000 on the Eero you open the app on your phone, go to settings, Network Settings, Reservation & port forwarding, tap on Add a Reservation, find the computer where you’re serving your live stream, tap on Open a port, give the port a name, and enter 8000. Then save the setting.
You’ll have to find the instructions for port forwarding for your particular router. You must open the port though or your streaming server won’t be accessible to the Internet.
Keep in mind there are security concerns with opening your machine to the Internet. If you’re squeamish about it at all then don’t do this.
Open a no-ip account
no-ip is a service that will allow you to use an easy to remember URL so listeners don’t have to use IP addresses. It will also cover you in case your ISP changes your IP address at your modem so you don’t have to change URLs.
- Go to noip.com, click on the sign up button, enter your e-mail and create a password. They’ll send a verification link to that e-mail address
- After verification you’ll be taken to a page where you have to choose between business or personal. Choose personal for at free account.
- They ask for your intended use. I chose Remote Access. I think that describes what I want to do best. I don’t think it matters what you choose as this seems just for their information.
- On the next page you choose the type of account. I chose free since I’m just experimenting for now. You can upgrade later. Paying obviously gives you more options and controls. If choosing the free account just click on the Go to My Account button.
- The next pop up asks for a hostname. This can be whatever you want it to be and you can change it later if you want. I initially chose satsandsounds because I was experimenting with my music podcast. But later I changed it to kjbstream. I wanted something more generic so I can stream any of my podcasts live. I intend to create subdomains, like stream.satsandsounds.com, that will point directly to the stream instead of using the URL no-ip creates.
- Choose a domain from the drop down. Use anything that suits your needs.
- Leave Record Type as DNS Host (A) and make sure the IPv4 Address matches the IP address on your cable modem. If you don’t know how to find that you can go to https://whatismyipaddress.com/. It should automatically show you the IP address from your ISP. This should match the IPv4 Address.
- Click on Create Hostname and you’re set up.
- On the left side of the page there is a sidebar menu. Click on Device Configuration Assistant.
- Select the hostname you just set up from the drop down list and click Next Step
- Enter your router brand and model. You can really enter anything here. I think it’s just for their information. Then click Next Step
- It will ask if there is a computer always running on your network. I clicked on yes because I always have my PC running.
- You’ll be asked to download the application Dynamic Update Client (DUC). You’ll need this and is in the next set of steps. After you download it click on Next Step.
- You already know your default port for Icecast. It’s 8000. Click Next Step.
- Enter port 8000 into the port check field and click Check Port. If Icecast is running and you opened the port on your router you should get a message saying Port 8000 is open.
- The page says to click on Next Step. But for me that button does nothing from this point. As long as you received the confirmation message that port 8000 is open you can close this web page and move to installing DUC.
When you’re setting up no-ip it will direct you to download the Dynamic Update Client (DUC). Here is a direct link anyway just in case. This piece of software is handles the connection between no-ip and your computer. It keeps the connection going in case your IP address changes from your ISP.
- Run the setup program and install DUC
- Run DUC and login using your no-ip login credentials.
- In the popup click the check box for the host you setup in no-ip and click save.
- You should see three green checkmarks showing everything is running.
- This will ensure your stream doesn’t drop should your ISP change your IP address.
BUTT stands for Broadcast Using This Tool. This software takes your audio source, connects to your Icecast server, and serves the live audio file your listeners will hear. You designate what audio source gets streamed.
- Run the setup program and install BUTT
- Open the program and click on Settings
- On the Main tab click Add under Server Settings
- Put a name for your server. This can be whatever you want.
- Click on Icecast for Type.
- Enter in the local IP address of the computer running Icecast. It should be 192.168.xxx.xxx. You can find it by going to your network settings on your Windows machine.
- Enter in 8000 for the Port.
- Put in the password for your Icecast server
- You can leave the rest and click Save
- Click on the Audio tab and choose your Primary and Secondary Audio devices. Choose where ever the audio is going to come from. This will be different from machine to machine. You can experiment to see which device feeds the audio you want.
VideoLAN (VLC) is an open source multimedia player. You don’t necessarily need VLC to stream to your Icecast server because BUTT will stream from whatever source you designate. But VLC is free (You should donate however), easy to use, and you can use it to make playlists of your podcasts or Value4Value enabled music tracks like I’m using on my music podcast Sats and Sounds.