Icecast
Icecast allows users to send and receive media via a server. It provides the ability for a server to act as an internet radio station that can be used publicly or privately. It accepts media streams via files and direct input devices. For any additional settings that are not covered in this guide, please visit http://icecast.org/docs/icecast-2.4.1/
Installation
Open up a terminal window and enter
sudo apt-get install icecast2
As with all servers, proper port forwarding is required. On the computer you wish to act as a server, forward default tcp port 8000(or the port that you choose to use in icecast.xml) to enable incoming connections through Icecast. Port forwarding guides for specific routers can be found at https://portforward.com/router.htm
Editing Icecast config file
Icecast config file determines all the settings that your server will be running. Open the config file located at /etc/icecast2/icecast.xml with an editor of your choice. We used vim
sudo vim /etc/icecast2/icecast.xml
For full details on all settings, visit https://icecast.org/docs/icecast-2.4.0/config-file.html
Running Icecast
In a terminal window enter the following command (replace /path/to/icecast.xml with your actual path to the file)
icecast -c /path/to/icecast.xml
At this point, Icecast is up and running on the ip:port specified in the icecast.xml file and ready accept stream feeds that it will broadcast. We will be using Darkice to stream our microphone to the Icecast server. Head over to Darkice section