In the world of audio streaming, choosing the right server is crucial for ensuring reliability, security, and flexibility. Icecast KH is our recommended server for audio streaming due to it being open source, supporting more features, and potential security risks.
Security
Recent events have highlighted the importance of security in streaming servers. The leak of Shoutcast’s source code on GitHub during WinAMP’s attempt at open sourcing has exposed potential vulnerabilities, raising concerns about its safety. In contrast, Icecast KH has always been open source, and benefits from community scrutiny and rapid patching of any discovered issues. Icecast is also not tied to Nullsoft and Llama Group, Icecast operates independently, free from corporate influence.
Icecast and Icecast KH are open-source projects maintained by a dedicated community. This means the source code is available for anyone to review, allow for the community to fix and resolve otherwise hidden vulnerabilities.
Icecast Exclusive Features
Icecast 2 KH services offer a range of exlcusive features and configuration:
- Wide Codec Support: Supports multiple codecs, including FLAC.
- Stream Authentication: Robust options for stream and user authentication.
- Custom XML Configuration: Extensive customization options through XML.
- DJ Manager: Manage DJs without the need for AutoDJ.
- Mountpoint Statistics: Detailed statistics for each mountpoint.
- Non-Proprietary Protocols: Uses open Icecast protocol, which is helpful for integration. For example, MediaCP Cloud Video publishing.
- HTTPS Admin Access: Secure administrative access via HTTPS, Shoutcast has decided to not support SSL on their admin page resulting in access issues.
- Character Encoding: Choose between UTF-8 or ISO-8859-1 (Latin1) encoding.
- Log Level Selection: Allows for the selection of 4 log levels.
- Relay Support: Icecast can relay from Shoutcast and Icecast services, where Shoutcast can only relay from other Shoutcast 2 services.
- Shoutcast Compatibility: Easily migrate from Shoutcast with full compatibility.
- Burst and Queue Size Configuration: Control burst and queue sizes for optimal performance
- Security Concerns: The source code leak of Shoutcast has highlighted potential security risks
Moving to Icecast KH
If you would like to move your Shoutcast services over to Icecast, we have a short guide below. If your customers are currently connecting to their station through AutoDJ they won’t need to change the protocol in their encoder. If they are connecting using the Shoutcast protocol then they will have to change this in their encoder as part of the transition as the Shoutcast protocol is proprietary.
Moving to Icecast needs to be done station by station manually creating a new service and setting up the correct configuration.
- Create a new Icecast KH service under the existing customer’s account (this ensures the new service has access to the customers media content)
- On the new service attempt to recreate any playlists, jingles, scheduled playlists manually
- If intending to keep the same ports and password to avoid updating links and encoders, these will need to be manually changed
- Select Configure
- Set the Port Base field to the old station’s port
- Set the Password field to match the Admin Password field on the old station
- Set the Stream Source Password field to match the Password field on the old station
- Select Advanced on the top right
- Set the DJ Listen Port to match the old station.
- Select Update Configuration
Setting any other important settings or features that were also enabled on the old station should be done as well. After updating the configuration the two stations will be conficting on ports, so you should shutdown the Shoutcast service and restart the Icecast service. If the customer was previously connecting over AutoDJ then the ports, password and protocol should be the same and they wont have to update their encoder. If using proxy links that ultilise the station name (https://mydomain.com/stream/1097fm) then you will need to change the stations Publish Name and Name on the public page configuration, and these can not conflict
- Open both services in new tabs
- Select Configure
- Swap the Publish Name fields ensuring the old service is no longer using the name
- Select Update Configuration on the shoutcast service, then the Icecast service
- Select Public Page
- Swap the Name fields ensuring the old service is no longer using the name
- Select Save on the shoutcast service, then the Icecast service.
You can read more about audio streaming, server selection and service creation in our detailed guides: