Beiträge: 202
Bewertung: 14
Registriert seit: Jun 2012
Status:
offline
|
Shoutcast Server v2
Hallo Leute, ja einige fragen sich nun wie ich hier auf dem Board nun mit Shoutcast Fragen komme, aber ich hoffe das ich hier dennoch etwas Hilfe bekomme um meine grauen Gehirnzellen weiter auszubessern.
Ich habe auf meinem Server derzeit 2 Shoutcast Server gestartet, einmal einen mit Version 2.0 und einen mit Version 1.9.9
So beim 1.9.9er klappt die Ausgabe meiner Abfrage ganz gut, nun möchte ich aber das beim 2.0er auch auslesen, aber da streikt der Code.
Bitte hier nun auch nix sagen weil ich die Adresse und die Passwörter poste, aber das sind nur Shoutcast Server zum testen für mich, da sind mir die Daten vorerst egal...
also die Server sind wievolgt erreichbar...
v1.9.9 = [Link: Registrierung erforderlich]
v2.0.0 = [Link: Registrierung erforderlich]
so das wäre ja in Grunde genommen alles kein Thema, es sind XML ausgaben, die man verarbeiten kann. Das mache ich mit einem Herkömlichen Code, welcher unter Google auch zufinden ist.
<?php ini_set('display_errors', 0); $sc_stream_bitrate = "";
// XML holen if($fp = fsockopen("shoutcast-sponsor.de.vu", "8010", $errno, $errstr, 30)) { if(fputs($fp, "GET /admin.cgi?pass=changeme&mode=viewxml HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n")) { $xmldata = ""; while(!feof($fp)) $xmldata .= fgets($fp, 1000); $xmldata = explode("\r\n", $xmldata); $xmldata = $xmldata[3]; } }
// Regex Funktionen function get_item($name, $source) { preg_match('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches); return $matches[1]; } function get_items($name, $source) { preg_match_all('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches); return $matches[1]; }
// Werte aus XML auslesen $sc_stream_status = get_item("STREAMSTATUS", $xmldata); if($sc_stream_status) { $sc_stream_bitrate = get_item("BITRATE", $xmldata); $sc_listeners_cur = get_item("CURRENTLISTENERS", $xmldata); $sc_listeners_peak = get_item("PEAKLISTENERS", $xmldata); $sc_listeners_max = get_item("MAXLISTENERS", $xmldata); $sc_server_title = get_item("SERVERTITLE", $xmldata); $sc_server_url = get_item("SERVERURL", $xmldata); $sc_server_genre = get_item("SERVERGENRE", $xmldata); $sc_server_content = get_item("CONTENT", $xmldata); $sc_current_song = get_item("SONGTITLE", $xmldata); $sc_irc = get_item("IRC", $xmldata); $sc_icq = get_item("ICQ", $xmldata); $sc_aim = get_item("AIM", $xmldata); }
if(!($sc_stream_bitrate)) { echo " <table cellpadding='2' cellspacing='0' border='0' align='center' width='100%'> <tr> <td width='100'>Server Status: </td> <td><b>Server is currently down.</b></td> </tr> </table> "; } else { echo " <table cellpadding='2' cellspacing='0' border='0' width='100%'> <tr> <td width='100'><b>Server Status: </b></td> <td>Server is currently up and public.</td> <td rowspan='10' width='50' valign='top' align='center'> <a href='tunein/flash.php?ip=shoutcast-sponsor.de.vu&port=8010&color=000000' target='_blank' onclick='return popup(this.href);'><img hspace='3' vspace='3' src='images/player/flash.png' border='0' width='35' height='35' style='cursor:pointer;'></a> <a href='tunein/pls.php?host=shoutcast-sponsor.de.vu&port=8010'><img hspace='3' vspace='3' src='images/player/winamp.png' border='0' width='35' height='35' /></a> <a href='tunein/asx.php?host=shoutcast-sponsor.de.vu&port=8010'><img hspace='3' vspace='3' src='images/player/wmp.png' border='0' width='35' height='35' /></a> <a href='tunein/ram.php?host=shoutcast-sponsor.de.vu&port=8010'><img hspace='3' vspace='3' src='images/player/realplayer.png' border='0' width='35' height='35' /></a> </td> </tr> <tr> <td width='100'><b>Stream Status: </b></td> <td>Stream is up at ".$sc_stream_bitrate." kbps with ".$sc_listeners_cur." of ".$sc_listeners_max listeners."</td> </tr> <tr> <td width='100'><b>Listener Peak: </b></td> <td>".$sc_listeners_peak."</td> </tr> <tr> <td width='100'><b>Stream Title: </b></td> <td>".$sc_server_title."</td> </tr> <tr> <td width='100'><b>Content Type: </b></td> <td>".$sc_server_content."</td> </tr> <tr> <td width='100'><b>Stream Genre: </b></td> <td>".$sc_server_genre."</td> </tr> <tr> <td width='100'><b>Stream URL: </b></td> <td>".$sc_server_url."</td> </tr> <tr> <td width='100'><b>Stream ICQ: </b></td> <td>".$sc_icq."</td> </tr> <tr> <td width='100'><b>Stream AIM: </b></td> <td>".$sc_aim."</td> </tr> <tr> <td width='100'><b>Stream IRC: </b></td> <td>".$sc_irc."</td> </tr> <tr> <td width='100'><b>Current Song: </b></td> <td colspan=2>".$sc_current_song."</td> </tr> </table> "; } ?>
eine Online Demo bzw das was ich meinte ist unter der URL
[Link: Registrierung erforderlich] zu sehen.
Kann mir hier jemand da vlt behilflich sein? Hat da jemand der hier im Forum tätigen Hoster da vlt ein Rat für mich?
Da die Website von Shoutcast leider keine Downloads mehr zu den Server Binarys zur Verfügung stellt, hab ich den Server aus dem FTP Server von Teklab verwendet. Aber dennoch sind die XML Ausgaben ja die gleichen.
Danke schonmal
[Link: Registrierung erforderlich]
|
|