How to setup your Icecast streaming provider

Step 1: In your WordPress Admin, edit or create your Radio Channel

Step 2: Select Icecast from the Server Type dropdown.

Step 3: Now you need to create your STATS URL.

Icecast can have any custom URL, but the default STATS endpoint is

/status-json.xsl

You should add the Endpoint (copy it from above) and attach it to the end of your Icecast url, you should be able to see the json data.

Check the validity of your Json data

The json page needs to look like this:

You can copy the content of the page and paste it in the website to verify if it's correct.

http://jsonviewer.stack.hu/

After pasting it, click "Viewer" and you should see the formatted content, like this example of a multi-channel Icecast server:

If instead you see an error, like this:

it means that your JSON formatting is broken, and this is usually caused by a software error on your streaming server. You should take some screenshots and contact your streaming provider, asking them to fix it.

Icecast page (not required in settings):
http://123.123.79.181:4090/

MP3 URL:
http://123.123.71.79.181.79.181:4090/live

Icecast json URL:
http://123.123.79.181:4090/status-json.xsl

Icecast channel: 1

Icecast mountpoint: not required

Alternative endpoints

The standard endpoint for the Icecast stats page is /stats-json.xsl, but some can use:

  • stats-json.xsl
  • status.xsl
  • status-json.xsl
  • stats.xsl

As any streaming provider can use a custom URL.

If you don’t know the correct Icecast status json URL, you need to ask to your streaming provider (your broadcasting provider), as the address can be anything, like

/white-unicorn-flying.xsl

so, if you don’t know the exact stats URL of your Icecast channel, only your provider can give you this information.

Icecast mountpoint and channels

Some Icecast formats use different moutpoint URLs for the data, some others use always the same URL, containing the song titles of every channel.

There is no fixed standard for this, as it’s up to the system administrator, so you may need to check the structure of your feed to find the right settings.

This is an example of a multi-channel icecast page

To know the correct settings, you can open the stats file, copy the json output and paste it on jsonviewer

Example of the

In this example, there is no mountpoint required, but there are multiple channels. You can set the numeric channel ID of the right song titles in your channel settings.

Troubleshooting:

  1. If you can’t see the titles, the first thing to do is to verify the status-json.xsl page. Open it in the browser, and make sure you can see the Json data (see screenshots above)
  2. If your website is HTTPS and your stream is HTTP, you generally cannot display titles, nor listen to the music. In this case you may want to put the site in http or change streaming provider.
  3. If the protocol is ok, and you see the json data, but still no title appears, your provider may be blocking the access because of wrong Cross Origin Resource Sharing policies (CORS).
    This means that your Icecast server is missing a little line of code that allows your website to read the song titles.
    To check this, open the browser javascript console, and check if you see any error mentioning a CORS block preventing the access.
    In this case, you can try the proxy (make sure your web server allows it) and/or eventually ask to your streaming provider to enable the CORS policies on the server (thish is how it should be)
    https://enable-cors.org/server.html
  4. If your stream is HTTPS, your website is HTTPS and your Icecast page is HTTP, you generally cannot display titles without using the proxy.
    It would be much better if you use a streaming provider that gives you HTTPS access, but you can also try our proxy (enable the proxy in the channel settings).
  5. If the proxy doesn’t work either, please ask your website hosting provider (where you bought your domain and/or hosting) to make sure that your website can connect, server side, to the port of the shoutcast channel.In the example above, the channel is 8000, so you need to verify with your website server provider that your site can connect, server side via cUrl, using the port 8000.
  6. If your streaming provider has an HTTPS stream but the certificate is invalid, your browser will refuse the connection, for obvious security restrictions. You can verify this condition by opening the https url of your Streaming page on the browser.
  7. If you still need help setting up your radio, please contact our helpdesk.
Was this answer helpful? 2 Users Found This Useful (4 Votes)