{"id":100,"date":"2020-03-10T16:57:20","date_gmt":"2020-03-10T16:57:20","guid":{"rendered":"https:\/\/erplayer.pro.radio\/manual\/?post_type=knowledgebase&#038;p=100"},"modified":"2020-03-10T16:59:05","modified_gmt":"2020-03-10T16:59:05","slug":"server-type-icecast","status":"publish","type":"knowledgebase","link":"https:\/\/erplayer.pro.radio\/manual\/knowledge-base\/radio\/server-type-icecast\/","title":{"rendered":"Server type: Icecast"},"content":{"rendered":"<p>Select <strong>Icecast<\/strong> from the Server Type dropdown.<\/p>\n<p>Icecast can have any custom URL, but the default STATS endpoint is \/status-json.xsl<\/p>\n<p>Example of a multi-channel Icecast <strong>(this is an example, not a real radio)<\/strong>:<\/p>\n<p><strong>Icecast page (not required in settings):<\/strong><br \/>\nhttp:\/\/<em>123.123<\/em>.79.181:4090\/<\/p>\n<p><strong>MP3 URL:<\/strong><br \/>\n<em>http:\/\/123.123.71.79.181.79.181:4090\/live<\/em><\/p>\n<p><strong>Icecast json URL:<\/strong><br \/>\n<em>http:\/\/123.123.79.181:4090\/status-json.xsl<\/em><\/p>\n<p><strong>Icecast channel:<\/strong> 1<\/p>\n<p><strong>Icecast mountpoint:<\/strong> not required<\/p>\n<h3>Verify your stats URL<\/h3>\n<p>You should open your \/stats-json.xsl URL in your browser, and you should see something like this:<\/p>\n<h4>Json data<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-101\" src=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09.png\" alt=\"\" width=\"1245\" height=\"516\" srcset=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09.png 1245w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09-300x124.png 300w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09-1024x424.png 1024w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09-768x318.png 768w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.37.09-1200x497.png 1200w\" sizes=\"(max-width: 1245px) 100vw, 1245px\" \/><\/p>\n<h4>Important:<\/h4>\n<p>The standard endpoint for the Icecast stats page is \/stats-json.xsl, but some can use:<\/p>\n<ul>\n<li>stats-json.xsl<\/li>\n<li>status.xsl<\/li>\n<li>status-json.xsl<\/li>\n<li>stats.xsl<\/li>\n<\/ul>\n<p>As any streaming provider <strong>can use a custom URL.<\/strong><\/p>\n<p><strong>If you don&#8217;t know<\/strong> the correct Icecast status json URL, <span style=\"text-decoration: underline; color: #339966;\"><strong>you need to ask to your streaming provider<\/strong><\/span> (your broadcasting provider), as<strong> the address can be anything, like <\/strong><\/p>\n<ul>\n<li>\/white-unicorn-flying.xsl<\/li>\n<\/ul>\n<p>so, if you don&#8217;t know the exact stats URL of your Icecast channel, <strong>only your provider can give you this information<\/strong>.<\/p>\n<h2>Icecast mountpoint and channels<\/h2>\n<p>Some Icecast formats use different moutpoint URLs for the data, some others use always the same URL, containing the song titles of every channel.<\/p>\n<p><strong>There is no fixed standard for this, as it&#8217;s up to the system administrator, so you may need to check the structure of your feed to find the right settings.<\/strong><\/p>\n<p>This is an example of a multi-channel icecast page<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-102\" src=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-demo.jpg\" alt=\"\" width=\"1192\" height=\"1049\" srcset=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-demo.jpg 1192w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-demo-300x264.jpg 300w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-demo-1024x901.jpg 1024w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-demo-768x676.jpg 768w\" sizes=\"(max-width: 1192px) 100vw, 1192px\" \/><\/p>\n<p>To know the correct settings, you can open the stats file, copy the json output and paste it on <a href=\"http:\/\/jsonviewer.stack.hu\/\" target=\"_blank\" rel=\"noopener noreferrer\">jsonviewer<\/a><\/p>\n<p>Example of the<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-104\" src=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.46.52.png\" alt=\"\" width=\"916\" height=\"335\" srcset=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.46.52.png 916w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.46.52-300x110.png 300w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/Screen-Shot-2020-03-10-at-17.46.52-768x281.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/p>\n<p>In this example, there is no mountpoint required, but there are multiple channels. <strong>You can set the numeric channel ID of the right song titles in your channel settings.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-103\" src=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-channels.jpg\" alt=\"\" width=\"980\" height=\"951\" srcset=\"https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-channels.jpg 980w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-channels-300x291.jpg 300w, https:\/\/erplayer.pro.radio\/manual\/wp-content\/uploads\/2020\/03\/icecast-channels-768x745.jpg 768w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/><\/p>\n<h3>Troubleshooting:<\/h3>\n<ol>\n<li>If you can&#8217;t see the titles, the first thing to do is <strong>to verify the status-json.xsl page<\/strong>. Open it in the browser, and make sure you can see the Json data (see screenshots above)<\/li>\n<li>If your <strong>website<\/strong> is <strong>HTTPS<\/strong> and your stream is <strong>HTTP<\/strong>, you generally <strong>cannot<\/strong> display titles, <strong>nor listen to the music. <span style=\"color: #339966;\">In this case you may want to put the site in http or change streaming provider.<\/span><\/strong><\/li>\n<li>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).<br \/>\n<strong>This means that your Icecast server is missing a little line of code that allows your website to read the song titles.<br \/>\n<\/strong>To check this, open the browser javascript console, and check if you see any error mentioning a CORS block preventing the access.<br \/>\nIn 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)<br \/>\n<a href=\"https:\/\/enable-cors.org\/server.html\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>https:\/\/enable-cors.org\/server.html<\/strong><\/a><\/li>\n<li>If your stream is HTTP<strong>S<\/strong>, your website is HTTP<strong>S<\/strong> and your <strong>Icecast<\/strong> page is <strong>HTTP,\u00a0<\/strong>you generally cannot display titles <strong>without<\/strong> using the proxy.<br \/>\nIt 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).<\/li>\n<li>If the proxy doesn&#8217;t work either, please<strong> ask your website hosting<\/strong> 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 <strong>channel<\/strong> is <strong>8000<\/strong>, so you need to verify with your <strong>website server provider<\/strong> that your site can connect, server side via cUrl, using the port 8000.<\/li>\n<li>If your <strong>streaming provider<\/strong> has an <strong>HTTPS<\/strong> stream but the certificate is <strong>invalid<\/strong>, your browser will refuse the connection, for obvious security restrictions. <strong>You can verify this condition by opening the https url of your Streaming page on the browser.<\/strong><\/li>\n<li>If you still need help setting up your radio, <strong>please contact our helpdesk.<\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Select Icecast from the Server Type dropdown. Icecast can have any custom URL, but the default STATS endpoint is \/status-json.xsl Example of a multi-channel Icecast (this is an example, not a real radio): 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 Verify [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","knowledgebase_cat":[5],"class_list":["post-100","knowledgebase","type-knowledgebase","status-publish","hentry","knowledgebase_cat-radio"],"_links":{"self":[{"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/knowledgebase\/100"}],"collection":[{"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/knowledgebase"}],"about":[{"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/types\/knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":3,"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/knowledgebase\/100\/revisions"}],"predecessor-version":[{"id":107,"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/knowledgebase\/100\/revisions\/107"}],"wp:attachment":[{"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"knowledgebase_cat","embeddable":true,"href":"https:\/\/erplayer.pro.radio\/manual\/wp-json\/wp\/v2\/knowledgebase_cat?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}