View previous topic :: View next topic |
Author |
Message |
jmashore
Joined: 02 Dec 2009 Posts: 9
|
Posted: Wed Dec 02, 2009 10:26 pm Post subject: Transparent Move from Shoutcast to Icecast2 |
|
|
I'm trying to migrate quietly to using Icecast2 (win) from Shoutcast. The one thing I believe that seems to be remaining is a way to alias to Shoutcast's admin.cgi It would appear SAM Broadcaster along with a few other pieces of software all are looking for it.
My assumption is Icecast has the compatable alias for this. I realize Shoutcast has options for using IceCast but transparency is key here, so not having to reset the Static relays and modify irc bots and such would be a big help.
TIA
Jim |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Dec 02, 2009 10:33 pm Post subject: |
|
|
the /admin.cgi is in-built into icecast. If there is some issue with it then by all means let us know.
karl. |
|
Back to top |
|
|
jmashore
Joined: 02 Dec 2009 Posts: 9
|
Posted: Wed Dec 02, 2009 10:59 pm Post subject: |
|
|
I set my error log to Debug and get the following:
[2009-12-02 16:47:51] DBUG admin/admin.c Admin request (/admin.cgi)
[2009-12-02 16:47:51] DBUG admin/admin.c Got command (admin.cgi)
[2009-12-02 16:47:51] INFO admin/admin.c Received admin command admin.cgi on mount "/High"
[2009-12-02 16:47:51] DBUG admin/admin.c Got shoutcast metadata update request
[2009-12-02 16:47:51] DBUG fserve/fserve.c Adding client to file serving engine
SAM of course doesn't really say anything but "Error" if you set up the statistical relay and say it's a Shoutcast server. It works fine in Statistical relay if you say it's a IceCast server
This is the code I'm sending to my server on port 8199 to update on irc:
fputs($scfp,"GET /admin.cgi?pass=$pass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
This is my current conf :
<icecast>
<limits>
<sources>2</sources>
</limits>
<authentication>
<source-password>biteme</source-password>
<relay-password>biteme</relay-password>
<admin-user>admin</admin-user>
<admin-password>biteme</admin-password>
</authentication>
<hostname>localhost</hostname>
<listen-socket>
<port>8199</port>
<shoutcast-mount>/High</shoutcast-mount>
</listen-socket>
<listen-socket>
<port>8201</port>
<shoutcast-mount>/Low</shoutcast-mount>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source="/status" dest="/status.xsl"/>
<alias source="/" port="8199" dest="/High"/>
<alias source="/listen.pls" port="8199" dest="/High"/>
<alias source="/" port="8201" dest="/Low"/>
<alias source="/listen.pls" port="8201" dest="/Low"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
</icecast>
Lastly, Shoutcast has a link to listen.pls how do I do that in IceCast ?
I do have this test setup available online, so if you need real passwords to play with it, I can give them to you off-board.
I promise to organize all this and make it available to everyone as soon as we've resolved an entire transparent move !
Thanks again !
Jim |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Dec 02, 2009 11:25 pm Post subject: |
|
|
ok, that admin.cgi is not a metadta update, it looks to be wanting to retrieve content. It's certainly possible to make that request return some compatible content. It's probably best to hook in an xsl page for that but we'd need to know what needs sending back. It will also have to be tied to the specific port as you now have multiple streams not just one.
You can have a listen.pls file in webroot, but I guess you'll need an alias for those as well as you'll want 2 playlist files.
karl. |
|
Back to top |
|
|
jmashore
Joined: 02 Dec 2009 Posts: 9
|
Posted: Wed Dec 02, 2009 11:50 pm Post subject: |
|
|
You are correct, it's sending back xml data. A rather nice package of info about everything that's going on with the server. Since there is a explicit {mode=viewxml} I'm unaware of what other "modes" there may be at this time. However I'll poke around and see what other ones I can find since your intent here was obviously to aid with a smooth migration from one server to another.
The port # was specificed when I create the connector object being used in the fputs statement. This works for shoutcast again because of it's lack of mount points.
<SHOUTCASTSERVER>
<CURRENTLISTENERS>9</CURRENTLISTENERS>
<PEAKLISTENERS>15</PEAKLISTENERS>
<MAXLISTENERS>32</MAXLISTENERS>
<REPORTEDLISTENERS>9</REPORTEDLISTENERS>
<AVERAGETIME>20014</AVERAGETIME>
<SERVERGENRE>Adult</SERVERGENRE>
<SERVERURL>http://home.comcast.net/~mystic_radio/</SERVERURL>
<SERVERTITLE>DJ^MAXXX^^.. Live from the Motor City!!</SERVERTITLE>
<SONGTITLE>Little Texas - She's Got Her Daddy's Money</SONGTITLE>
<SONGURL>http://home.comcast.net/~mystic_radio/</SONGURL>
<IRC>#Mystic_Radio</IRC>
<ICQ>NA</ICQ>
<AIM>NA</AIM>
<WEBHITS>67102</WEBHITS>
<STREAMHITS>309</STREAMHITS>
<STREAMSTATUS>1</STREAMSTATUS>
<BITRATE>96</BITRATE>
<CONTENT>audio/mpeg</CONTENT>
<VERSION>1.9.8</VERSION>
−
<WEBDATA>
<INDEX>15</INDEX>
<LISTEN>35</LISTEN>
<PALM7>10834</PALM7>
<LOGIN>0</LOGIN>
<LOGINFAIL>19619</LOGINFAIL>
<PLAYED>0</PLAYED>
<COOKIE>0</COOKIE>
<ADMIN>72</ADMIN>
<UPDINFO>995</UPDINFO>
<KICKSRC>12</KICKSRC>
<KICKDST>0</KICKDST>
<UNBANDST>0</UNBANDST>
<BANDST>0</BANDST>
<VIEWBAN>0</VIEWBAN>
<UNRIPDST>0</UNRIPDST>
<RIPDST>0</RIPDST>
<VIEWRIP>0</VIEWRIP>
<VIEWXML>35493</VIEWXML>
<VIEWLOG>0</VIEWLOG>
<INVALID>26</INVALID>
</WEBDATA>
−
<LISTENERS>
−
<LISTENER>
<HOSTNAME>71.207.163.50</HOSTNAME>
−
<USERAGENT>
iTunes/9.0.2 (Windows; Microsoft Windows 7 Enterprise Edition (Build 7600)) AppleWebKit/531.21.8
</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>58276</CONNECTTIME>
<POINTER>0</POINTER>
<UID>265</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>68.19.91.110</HOSTNAME>
<USERAGENT>WinampMPEG/5.56, Ultravox/2.1</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>56772</CONNECTTIME>
<POINTER>4</POINTER>
<UID>266</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>98.174.186.16</HOSTNAME>
<USERAGENT>WinampMPEG/5.56, Ultravox/2.1</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>35861</CONNECTTIME>
<POINTER>5</POINTER>
<UID>273</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>78.144.154.76</HOSTNAME>
<USERAGENT>WinampMPEG/5.56, Ultravox/2.1</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>18079</CONNECTTIME>
<POINTER>2</POINTER>
<UID>282</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>71.30.214.84</HOSTNAME>
<USERAGENT>WinampMPEG/5.0</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>16232</CONNECTTIME>
<POINTER>1</POINTER>
<UID>288</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>65.184.65.46</HOSTNAME>
<USERAGENT>WinampMPEG/5.56, Ultravox/2.1</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>9223</CONNECTTIME>
<POINTER>6</POINTER>
<UID>298</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>69.47.68.193</HOSTNAME>
<USERAGENT>WinampMPEG/5.56, Ultravox/2.1</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>3832</CONNECTTIME>
<POINTER>8</POINTER>
<UID>301</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>76.2.242.69</HOSTNAME>
<USERAGENT>NSPlayer/11.0.6001.7006 WMFSDK/11.0</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>2421</CONNECTTIME>
<POINTER>11</POINTER>
<UID>307</UID>
</LISTENER>
−
<LISTENER>
<HOSTNAME>75.171.130.155</HOSTNAME>
<USERAGENT>iTunes/8.2.1 (Windows; N)</USERAGENT>
<UNDERRUNS>0</UNDERRUNS>
<CONNECTTIME>1145</CONNECTTIME>
<POINTER>7</POINTER>
<UID>308</UID>
</LISTENER>
</LISTENERS>
−
<SONGHISTORY>
−
<SONG>
<PLAYEDAT>1259797160</PLAYEDAT>
<TITLE>Little Texas - She's Got Her Daddy's Money</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796965</PLAYEDAT>
<TITLE>Bryan Adams - I Wanna Be Your Underwear</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796827</PLAYEDAT>
<TITLE>Brian Hyland - Itsy Bitsy Teenie Weenie</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796545</PLAYEDAT>
<TITLE>Lover Boy - Hot Girls In Love</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796536</PLAYEDAT>
<TITLE>Gabrielle Gold - Valley Girl</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796294</PLAYEDAT>
<TITLE>Lou Reed - Walk On The Wild Side</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259796143</PLAYEDAT>
<TITLE>Slipknot - Wait and Bleed</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259795894</PLAYEDAT>
<TITLE>Cake - Short Skirt, Long Jacket</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259795696</PLAYEDAT>
<TITLE>Buckcherry - Porno Star</TITLE>
</SONG>
−
<SONG>
<PLAYEDAT>1259795490</PLAYEDAT>
<TITLE>Bruce Springsteen - Pink Cadillac</TITLE>
</SONG>
</SONGHISTORY>
</SHOUTCASTSERVER> |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Thu Dec 03, 2009 1:32 am Post subject: |
|
|
You should be able to come up with an xsl for that. It looks to be a combination of what is in stats.xsl and listclients.xsl so it could get quite large. Do you really need to provide listener details to the requesting client for instance? The basic info may be enough for some initial testing ie the tags at the top and webdata with an empty listeners section. The hook into /admin.cgi should be fairly painless when the xsl is done.
karl. |
|
Back to top |
|
|
jmashore
Joined: 02 Dec 2009 Posts: 9
|
Posted: Thu Dec 03, 2009 4:34 pm Post subject: |
|
|
Karl..I emailed you some info |
|
Back to top |
|
|
|