# Radio Livestatus?



## progfxler (24. Mai 2003)

Wie kann ich von einem Radio den Livestatus auslesen lassen?



Wie hier


----------



## Tob (25. Mai 2003)

Poste mal die richtige URL (irgendwie mit Leerzeichen...), de.vu  wird auf dem Board leider wegzensiert, dann versteht man vieleicht was du meinst...

tob


----------



## Tim C. (25. Mai 2003)

Ich schätze mal die Daten wirst du über eine entsprechende Anfrage an den Shoutcast Server erhalten, da dieser ja auch einen kleinen integrierten HTTP Server hat auf dem auch all diese Daten ausgegeben werden. Da musst du dich mal in der FAQ oder der Readme vom Shoutcastserver umgucken, oder den Betreiber der Seite anschreiben.
Ansonsten wenn man das ganze ohne Shoutcast also nur von seinem Winamp ausgeben will, dann schau mal in der Tutorials Section vorbei. Unter Programming Tutorials gibts ein Tutorial von mir, wie man das mit dem httpQ Plugin + PHP lösen kann.


----------



## progfxler (26. Mai 2003)

mmhh hier ist ne seite da wird es auch angezeigt

www . jayjayfanpage . de


----------



## progfxler (21. Juni 2003)

ich hab noch immer nichts gefunden wie das mit einem shoutcast server funktioniert (


----------



## Wolf of Doom (23. Juni 2003)

hi

warum pings du den server nicht an mit

```
Status: <?php 

echo "<font face=\"Verdana\" size=\"2\"> "; 
$sock = fsockopen('213.146.186.47', 80, &$errno, &$errstr, 5); if(!is_resource($sock)) { echo " <font color=\"#FF0000\">offline</font>"; } else { echo "server is <font color=\"#00BF00\">online</font>"; } 
?>
```

müsste normalerweise gehn 


cYa

aTriX


----------



## progfxler (23. Juni 2003)

ok hat funktioniert 

nur wie kann ich nun die aktuelle listener zahl abrufen?

Hier die xml datei


```
<?xml version="1.0" standalone="yes" ?> 
  <!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)> 
- <SHOUTCASTSERVER>
  <CURRENTLISTENERS>0</CURRENTLISTENERS> 
  <PEAKLISTENERS>0</PEAKLISTENERS> 
  <MAXLISTENERS>32</MAXLISTENERS> 
  <REPORTEDLISTENERS>0</REPORTEDLISTENERS> 
  <AVERAGETIME>1</AVERAGETIME> 
  <SERVERGENRE>N/A</SERVERGENRE> 
  <SERVERURL>http://www.shoutcast.com</SERVERURL> 
  <SERVERTITLE>N/A</SERVERTITLE> 
  <SONGTITLE /> 
  <SONGURL /> 
  <IRC>N/A</IRC> 
  <ICQ>N/A</ICQ> 
  <AIM>N/A</AIM> 
  <WEBHITS>5</WEBHITS> 
  <STREAMHITS>0</STREAMHITS> 
  <STREAMSTATUS>0</STREAMSTATUS> 
  <BITRATE>0</BITRATE> 
  <CONTENT>audio/mpeg</CONTENT> 
  <VERSION>1.9.2</VERSION> 
- <WEBDATA>
  <INDEX>1</INDEX> 
  <LISTEN>0</LISTEN> 
  <PALM7>0</PALM7> 
  <LOGIN>0</LOGIN> 
  <LOGINFAIL>2</LOGINFAIL> 
  <PLAYED>0</PLAYED> 
  <COOKIE>0</COOKIE> 
  <ADMIN>1</ADMIN> 
  <UPDINFO>0</UPDINFO> 
  <KICKSRC>0</KICKSRC> 
  <KICKDST>0</KICKDST> 
  <UNBANDST>0</UNBANDST> 
  <BANDST>0</BANDST> 
  <VIEWBAN>0</VIEWBAN> 
  <UNRIPDST>0</UNRIPDST> 
  <RIPDST>0</RIPDST> 
  <VIEWRIP>0</VIEWRIP> 
  <VIEWXML>1</VIEWXML> 
  <VIEWLOG>0</VIEWLOG> 
  <INVALID>0</INVALID> 
  </WEBDATA>
  <LISTENERS /> 
  <SONGHISTORY />
```


----------



## TheNova (23. Juni 2003)

*regex*

also zuerst musst du die xml datei zeilenweise in eine variable schreiben:

dann hier mal ein schneller hack von mir:


```
$content = "<!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)> 
- <SHOUTCASTSERVER>
  <CURRENTLISTENERS>30</CURRENTLISTENERS> 
  <PEAKLISTENERS>0</PEAKLISTENERS> 
  <MAXLISTENERS>32</MAXLISTENERS> 
  <REPORTEDLISTENERS>0</REPORTEDLISTENERS> 
  <AVERAGETIME>1</AVERAGETIME> 
  <SERVERGENRE>N/A</SERVERGENRE> 
  <SERVERURL>http://www.shoutcast.com</SERVERURL> 
  <SERVERTITLE>N/A</SERVERTITLE>";

$suche = "CURRENTLISTENERS";

preg_match("/.*<$suche>(.+?)<\/$suche>.*/i",$content,$regs);

echo $regs[0];
```

gib also einfach in der var $suche das an was du haben willst und es steht dir danach in $regs[0] zur verfügung!

greetz Nova


----------



## progfxler (23. Juni 2003)

mmhh bei mir kommt da folgender fehler

Warning: Unknown modifier 'C' in /www/htdocs/v079799/test.php on line 11


----------



## Tim C. (23. Juni 2003)

Schätzungsweise, weil in dem "schnellen Hack" von TheNova die ", innerhalb der Variable content, nicht mit einem Backslash escaped wurden.


----------



## progfxler (23. Juni 2003)

mein scripte sieht so aus


```
<?php 

echo "<font face=\"Verdana\" size=\"2\"> "; 
$sock = fsockopen('62.93.201.253', 8000, &$errno, &$errstr, 5); if(!is_resource($sock)) { echo "Server is <font color=\"#FF0000\">offline</font>"; } else { echo "Server is <font color=\"#00BF00\">online</font>"; } 
$content = "<!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)> 
- <SHOUTCASTSERVER>
  <CURRENTLISTENERS>30</CURRENTLISTENERS> 
  <PEAKLISTENERS>0</PEAKLISTENERS> 
  <MAXLISTENERS>32</MAXLISTENERS> 
  <REPORTEDLISTENERS>0</REPORTEDLISTENERS> 
  <AVERAGETIME>1</AVERAGETIME> 
  <SERVERGENRE>N/A</SERVERGENRE>  
  <SERVERTITLE>N/A</SERVERTITLE>";

$suche = "CURRENTLISTENERS";

preg_match("/.*<$suche>(.+?)</$suche>.*/i",$content,$regs);

echo $regs[0];;
?>
```

irgendwas ist ist in dieser zeile falsch

preg_match("/.*<$suche>(.+?)</$suche>.*/i",$content,$regs);


----------



## TheNova (23. Juni 2003)

bei preg_match fehlt der backslash vor /suche>,

es muss so aussehen:


```
preg_match("/.*<$suche>(.+?)<\\/$suche>.*/i",$content,$regs);
```

liegt irgendwie daran das, dass forum den backslash entfernt!


----------



## progfxler (23. Juni 2003)

@ the nova es hat geklappt, aber irgendwie holt er das ja aus dem <CURRENTLISTENERS>30</CURRENTLISTENERS>  raus, er soll das aber doch vom server aktualisiert holen(ich hoffe du weißt was ich meine 

http://62.93.201.253:8000/admin.cgi?mode=viewxml (die url zur xml statistik)


----------



## TheNova (23. Juni 2003)

naja ich komm da nicht drauf, is nen htaccess davor!

du musst die xml datei schon auslesen und den inhalt in eine datei schreiben!

greetz Nova


----------



## progfxler (23. Juni 2003)

wie lese ich ne xml datei richtig aus?

hier ne xml datei
http://80.145.82.42:8000/admin.cgi?pass=admin&mode=viewxml


----------



## TheNova (23. Juni 2003)

hier:


```
<?
$datei="http://www.xyz.de/test.txt"; 
$array = file($datei); //Liest die gesamte Datei in ein ARRAY
for($i=0;$i<=count($array);$i++){
	$content.=$array[$i];
}

$suche = "CURRENTLISTENERS";

preg_match("/.*<$suche>(.+?)<\\/$suche>.*/i",$content,$regs);

echo $regs[0];
?>
```

ich glaube das mit dem ? in der url geht net, du musst also genau die url zur xml angeben, weiss ich aber nicht ganz genau!

greetz Nova


----------



## progfxler (23. Juni 2003)

da kam folgender fehler

Warning: file(http://80.145.82.42:8000/admin.cgi?...in&mode=viewxml) [function.file]: failed to create stream: HTTP request failed! ICY 404 Resource Not Found in /www/htdocs/v079799/test.php on line 8


wenn ich z.b. nach mehr sachen suchen will wie muss dann das aussehen?

$suche = "CURRENTLISTENERS; PEAKLISTENERS"; oder?


----------



## Tim C. (23. Juni 2003)

> $suche = "CURRENTLISTENERS; PEAKLISTENERS"; oder?


Definitiv nicht. Da einem, wenn man sich den Quellcode einmal betrachtet, klar werden sollte, dass die Variable $suche nur in das preg_match eingesetzt wird. Da es in der XML Datei keinen Eintrag <CURRENTLISTENERS; PEAKLISTENERS> gibt, würde die Suche keine Ergebnisse liefern.


----------



## TheNova (23. Juni 2003)

nein, wie leuchte schon sagt geht das so einfach nicht!

habe vorhin ja gesagt das es mit diesem (http://80.145.82.42:8000/admin.cgi?...in&mode=viewxml) aufruf, wohl nicht funktionieren wird! hast du nicht den direkten link zur xml-datei? aber wahrscheinlich wird die onthefly geschrieben!

such halt mal hier im forum oder bei google!

greetz Nova


----------



## progfxler (23. Juni 2003)

http://80.145.82.42:8000/admin.cgi?pass=admin&mode=viewxml <-- das ist der direkte link zur xml datei


----------



## Tim C. (23. Juni 2003)

Das sollte aber mit fsockopen kein Problem darstellen. Habe schonmal (wie hier http://www.tutorials.de/tutorials77346.html zu sehen) was ähnliches mit einem Winamp Status gemacht und da ging es auch mit ? in der URL.


----------



## progfxler (23. Juni 2003)

ok hab was bei google.de gefunden


----------



## brÅinstorm (24. Juni 2003)

RTFFAQ!

was hast du denn gefunden?

du kannst das ganze auch über die DOMXML funktionen machen.

geht sehr viel komfortabler!


----------



## KICK (3. August 2003)

Sucht ihr jetzt noch nach einem Php Script mit welchem ihr den aktuellen titel, die letzten 10 titel und die aktuelle zuhörerzahl anzeigen könnt oder nicht?

ich hätte da nämlich ein recht simples.

greetz kick


----------



## progfxler (3. August 2003)

ja


----------



## KICK (3. August 2003)

Habe für dich eine Zip Datei Online gestellt. Diese Zip Datei enthält 2 Php Dateien.

Zuerst passt du in beiden Dateien folgende Zeilen an ->

/* enter in your shoutcast server IP or hostname - IPs tend to work better */
$host = "ip_oder_domain_zum_server";
/* enter in your shoutcast server port */
$port = "port_des_servers_zb_8000";
/* enter in your administrator password */
$password = "dein_admin_passwort";
/* number of previous songs to list (max value is 20) */
$maxsongs = "10";

Anschliessend führst du die Datei "scxml.php" über den Browser aus. Jetzt solltest du die aktuelle Anzahl an Zuhörern sehen, den aktuellen Titel und die letzten 10 (Oder was du angegeben hast) Titel sehen.

Mit ein wenig Php Kenntniss ist es dann kein Problem, das Script ans eigene Design anzupassen.

Wichtig! -> Voraussetzung, dass die Titel angezeigt werden ist natürlich auch, dass du die Titelinformationen an deinen Shoutcast Server sendest!

Hier die Zip Datei -> Schoutcast Titelanzeigen 

http://clubradio.at RoXX Da Nation :-]]

GreetZ Kick


----------



## Sloat (10. August 2003)

KICK,

Ein wirklich sehr gutes, sauberes Script  

Leider meldet es mir immer offline, auf http://62.146.214.20:8000/ 

IP 62.146.214.20 und Port 8000 eingetragen in beiden Dateien, Benutzer ist doch immer admin, Passwort wird so wie eingetragen bei /admin.cgi akzeptiert.

ShoutCast 1.9.2 auf Linux

Kann ich noch was prüfen?

Regards


----------



## KICK (10. August 2003)

Hi,

Du musst natürlich auch mit dem Server verbunden sein und streamen, sonst wird dir klarerweise angezeigt, dass der Server momentan nicht erreichbar ist.


GreetZ Kick


----------



## xoot (5. Oktober 2003)

@kick

ist es auch möglich deine seiten so zu verändern das jeder nutzer die seiten ansehen kann ?

wenn ja kannst du bitte sagen wie


----------



## KICK (5. Oktober 2003)

> _Original geschrieben von xoot _
> *@kick
> 
> ist es auch möglich deine seiten so zu verändern das jeder nutzer die seiten ansehen kann ?
> ...



Keine Ahnung was du meinst

GreetZ KICK


----------



## xoot (6. Oktober 2003)

@kick 

ich meine das jeder hörer des streams sich die auswertung der xml ansehen kann. vorausgesetzt er kennt die url zur datei


----------



## KICK (6. Oktober 2003)

> _Original geschrieben von xoot _
> *@kick
> 
> ich meine das jeder hörer des streams sich die auswertung der xml ansehen kann. vorausgesetzt er kennt die url zur datei *



Es kann sich nicht nur jeder Hörer, sondern jeder User im Internet der die URL zum Script kennt die XML Statistik ansehen. Es gibt in diesem Script auch keine Sperre die dieses in irgendeiner Form unterbindet.

Ich kann also nicht irgendetwas "entsperren", wenn bisher garnichts gesperrt wurde. Ich würde nur gerne wissen, worauf deine Vermutung basiert, das in diesem Script irgendetwas gesperrt sein sollte?

Oder verstehe ich dich einfach nur falsch und du meinst, du willst das Script generell sperren, sodaß nur du darauf zugreifen kannst?

GreetZ Kick


----------



## xoot (7. Oktober 2003)

> _Original geschrieben von KICK _
> Du musst natürlich auch mit dem Server verbunden sein und streamen, sonst wird dir klarerweise angezeigt, dass der Server momentan nicht erreichbar ist.



das mein ich, also wenn ich im moment den stream nicht habe wird mir der server als offline angezeigt.
und das wollt ich umgehen, sodas jeder user im internet sich die seite ansehen kann. vorausgesetzt er kennt die url zum script.

ps: selbst wenn ich den stream habe wird mir der server als offline angezeigt


----------



## KICK (8. Oktober 2003)

> _Original geschrieben von xoot _*
> ps: selbst wenn ich den stream habe wird mir der server als offline angezeigt *



Wenn du streamst, oder wie du es so schön bezeichnest  - "den stream hast" - und der Server wird im Script als offline angezeigt, hast du schon mal grundlegend bei der Konfiguration irgendeinen Fehler gemacht!




> _Original geschrieben von xoot _
> *das mein ich, also wenn ich im moment den stream nicht habe wird mir der server als offline angezeigt.
> und das wollt ich umgehen, sodas jeder user im internet sich die seite ansehen kann. vorausgesetzt er kennt die url zum script.*



Du kannst die Seite natürlich auch anzeigen lassen, wenn der Server offline ist, jedoch macht das nicht viel Sinn, weil du ja keine Ausgabe bekommst.

Gib mir mal eine Seite wo ich mir genauer ansehen kann, wie du dir das vorstellst, vielleicht kann ich dir dann mehr weiterhelfen.

GreetZ KICK


----------



## Davidaff (2. Januar 2004)

ehmmm
ich hab mir das Script auch mal mit gezogen.
jedoch funtzts bei mir net so richtig.

Er zeigt zwar, das der Shoutcast Server online ist, wertet aber keine Daten aus.

wo liegt das Problem ?


----------



## KICK (2. Januar 2004)

Vermutlich daran, dass du zum Server keine Titel-Informationen streamst!

GreetZ KICK


----------



## Davidaff (2. Januar 2004)

doch, mach ich aber...

ich hab nun schon 2 mal ne anzeige gehabt.
wenn ich aber F5 drücke, um zu aktualisieren, ist wieder alles weg.

winamp und shoutcast laufen auf den gleichen Server.

Ports hab ich auch schon mehrere Probiert.
Hat abe ja nix damit zutun so wie ich das feststellen musste.

Hier der Link, wenn du so net bist, kannstes dir ja mal anschauen.

klick


----------



## KICK (2. Januar 2004)

Hi,

wenn ich auf den Link klicke, seh ich zwar deine Status-Anzeige, aber keinen einzigen Titel.
Ändern kann ich daran natürlich jetzt auch nichts, weil ich ja keine IP keinen PORT und kein PASSWORT von deinem Shoutcast Server habe.

Du kannst mir diese 3 Angaben gerne per PM senden, dann seh ich mir an, wo das Problem liegen könnte. Das Passwort des Servers, kannst du ja nach meinem Test wieder ändern.

GreetZ KICK


----------



## Davidaff (2. Januar 2004)

danke für deine antwort.

hast  du icq drauf?
wenn ja dann melde dich mal bitte bei mir unter 46955586.

Da geht das alles etwas schneller


----------



## Lones_Wolf (6. September 2004)

*XML auslesen.*

So habe mich mal mit nem freund hingesetzt und ein kleines aber feines script gebaut damit kann man das meiste vom Stream ablesen und das sieht dann so aus 


> Server Name:
> 
> Listeners: 0 / 30
> 
> ...



Als erstes müsst ihr eine datei anlegen die sich config_radio.php nennt
und hier ist der PHP Code dazu:

```
<?php
//////////////////////////////////////////////////////////////////////////////////////////////
// LonesWolf.com Radio Stats Information
// Nimmt die xml-datei von deinem radio server und zeigt sie in einem iframe der alle 30 sekunden refresht.
// ©[-D3bian-]|VtG8| & Lones_Wolf www.loneswolf.com
//////////////////////////////////////////////////////////////////////////////////////////////
//Configuration
$scdef = "";             // Name des Stream's wenn er down ist
$scip = "";              // IP oder URL von dem Shoutcast Server 
$scport = "";            // Port vom Shoutcast Server
$scpass = "";            // Passwort zum Shoutcast Server(Admin passwort gemeint)
//End configuration

?>
```

so und jetzt noch den Code der das alles anzeigen soll:

```
<?php
// Shoutcast Server Stats
// Nimmt die xml-datei von deinem radio server und zeigt sie in einem iframe der alle 30 sekunden refresht.
// ©[-D3bian-]|VtG8| & Lones_Wolf www.loneswolf.com
include('config_radio.php');  
$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
 if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.' is Offline';
 }
if($scsuccs!=1){
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
 while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
 }
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
 $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
 $y=0;
 while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
 }
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
 $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
 $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
 $songatime = explode("<SONG>", $pageed);
 $r=1;
 while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);
  $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
  $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
 }
//end song info

fclose($scfp);
}

//display stats
if($streamstatus == "1"){
//Hier kannst du den HTML Code noch verändern, passt nur auf das di Variablen intakt bleiben
echo'
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<META HTTP-EQUIV="REFRESH" CONTENT="30;URL=hier kommt der name deiner .php seite rein">
<link rel=stylesheet href="" type="text/css">
<title>'.$scdef.'</title>
</head>

<body text="" bgcolor="">




<p align="center"><center>


<font face="arial" size="2"><b>&nbsp;Server Name:</b>&nbsp;'.$servertitle.'</font></p>

<font face="arial" size="2"><b>&nbsp;Listeners:</b>&nbsp;'.$currentlisteners.' / 30</font></p>

<font face="arial" size="2"><b>&nbsp;Bitrate:</b>&nbsp;'.$bitrate.'</font></p>

<font face="arial" size="2" color=""><b>

    
	Current Song:</b> '.$song[0].'</font></p>
    <b>
 

	<font face="arial" size="2">
    
	Past Songs:</font></b>
<font color=""><font face="arial" size="2">
<p align="center">
<b>1.</b>  '.$song[1].'<BR>
<b>2.</b>  '.$song[2].'<BR>
<b>3.</b>  '.$song[3].'<BR>
<b>4.</b>  '.$song[4].'<BR>
<b>5.</b>  '.$song[5].'<BR>
<b>6.</b>  '.$song[6].'<BR>
</font>
<BR>
</p></p>
</body>

</html>';
}
?>
```

Wünsche viel spaas mit diesem kleinen Script  

Mit Freundlischen Grüßen

Lones_Wolf


----------



## NewEmpire (10. September 2004)

@wolf super script. Aber ich habe ein problem. Ich hab das Password vom server nicht. Möchte aber trotzdem stats anzeigen lassen. Geht das auch ohne PW? Wäre echt klasse, wenn das ginge.


----------



## KICK (10. September 2004)

> _Original geschrieben von NewEmpire _
> *Aber ich habe ein problem. Ich hab das Password vom server nicht.*


Das alleine ist Grund genug dir kein Script zu geben!

Was interessieren dich Statistiken von Servern zu denen du keinen Zugang hast?

Die Möglichkeit die Stat's ohne PW auszulesen gibt es (teilweise), aber es sollte immer noch dem Eigentümer des Server's selbts vorbehalten sein, ob er seine Stat's releasen will oder nicht.


----------



## NewEmpire (10. September 2004)

öhm.  die daten kann man auch so sehen. Wie gesagt, es gibt ja von shoutcast eine seite, wo die angezeigt werden. Die daten will ich auslesen (nicht alle sonst könnte ich ja die seite nehmen) und dann wo einbauen.

Also nix illegales. Es sind ja nur statsistiken vom Online stream. Was soll daran so geheim sein?

http://server03.flashspace-net.de:8050 hier die seite. Wo JEDER einsehen kann. Gibt es von jedem Shoutcast stream.


----------



## KICK (10. September 2004)

Ja schon OK, dacht nur, du bist einer von den besonders neugierigen, sorry 

Hier der Link zu einem Script, dass auch ohne PW die Stats ausgibt ->

Get Seven by Clubradio.at 

1. Entpacken
2. Config anpassen 
3. Auf den Server laden und testen. Dann das Template anpassen, oder ein eigenes Script schreiben.

In der Config trägst du bei IP "server03.flashspace-net.de" oder "213.158.118.146" ein. Port sollte klar sein (8050).

Viel Spaß damit


----------



## NewEmpire (11. September 2004)

vielen dank. Hoffe meine antwort war nicht zu hart. Echt super das script. Geht ohne probleme.


----------



## Lones_Wolf (11. September 2004)

*Radio Live*

Hallo NewEmpire hmm leider haben wir da noch nicht so nachgedacht um dies ohne password möglich zu machen, doch eine möglichkeit gibt es immer, mein freund und ich hatten dies nur geschrieben weil es sichtlicher weise probleme gab die ".xml" datei auszulesen .

Also wie ich gesehen habe konnte KICK dir ja schon gut helfen, sollten doch noch fragen sein könnt ihr mir mailen :Mail .

Mit Freundlischen Grüßen

Lones_Wolf


----------



## Lones_Wolf (10. Oktober 2004)

Hallo


> Aber ich habe ein problem. Ich hab das Password vom server nicht. Möchte aber trotzdem stats anzeigen lassen. Geht das auch ohne PW? Wäre echt klasse, wenn das ginge.



Es würde funktionieren, wir haben es selber getestet doch damit bekommt man unerwünschte nebenwirkungen, wir z.B. hatten 5minuten drauf eine E-Mail von shoutcast.com das wir uns unerlaubterweise zugang zum Admin bereich verschaffen würden obwohl dies unser Stream ist  

Also rate ich davon ab Scripts zu benutzen die, die ".xml" datei auslesen doch ohne Password arbeiten da man sich nur probleme einhandelt.

Also immer den Besitzer oder Admin von dem Stream um erlaubnis fragen und dann erst diese Scripte benutzen.

Mit Freundlischen Grüßen

Lones_Wolf


----------



## KICK (10. Oktober 2004)

Lones_Wolf hat gesagt.:
			
		

> Hallo
> Es würde funktionieren, wir haben es selber getestet


*Falsch!* Eine Shoutcast XML ohne Passwort auszulesen kann garnicht funktionieren, da diese sich im Admin Bereich befindet.



			
				Lones_Wolf hat gesagt.:
			
		

> doch damit bekommt man unerwünschte nebenwirkungen, wir z.B. hatten 5minuten drauf eine E-Mail von shoutcast.com das wir uns unerlaubterweise zugang zum Admin bereich verschaffen würden obwohl dies unser Stream ist


Logisch - Aus oben erwähntem Grund. 



			
				Lones_Wolf hat gesagt.:
			
		

> Also rate ich davon ab Scripts zu benutzen die, die ".xml" datei auslesen doch ohne Password arbeiten da man sich nur probleme einhandelt.


Solche Script's wirst du nirgendwo finden - Ebenfalls aus oben erwähntem Grund



			
				Lones_Wolf hat gesagt.:
			
		

> Also immer den Besitzer oder Admin von dem Stream um erlaubnis fragen und dann erst diese Scripte benutzen.


Kein Administrator wird dir sein Shoutcast Server Passwort geben! Und mann kann, wie bereits erwähnt, nur mit jenem die XML-STATS auslesen.


*Resume:*
1. Die Shoutcast Statistiken per XML auslesen funktioniert nur mit dem Admin Passwort
2. Es besteht sehr wohl die Möglichkeit Shoutcast Statistiken auch ohne Passwort auszulesen, jedoch hat dies absolut nichts mehr mit XML zu tun. (Siehe Script "GetSeven", 4 Beiträge weiter oben)


----------



## Lones_Wolf (10. Oktober 2004)

Kick hmm ich muss ja wissen was wir probiert haben also kanns du mir jetzt hier nicht erzählen das es nicht funktionieren würde, wie ich jedoch immer zu sagen pflege "Ich lasse jedem seine meinung, ich weiss was ich kann und was ich mache"

Mit Freundlischen Grüßen 

Lones_Wolf


----------



## SMHAMK1985 (5. Mai 2005)

Hallo,

ich habe mal eine Frage an Lones_Wolf:

Erst mal Danke das du sowas gemacht hast und es funz auch super bloß mit der Offline situation kommt er nicht zurecht. Wenn mein Server Down ist kommt einfach ein leeren Bild alsi da muss ja normalde weiter "Seitenname ist offline" stehen aber steht leider nicht dort! Wo kann das fehler liegen?

Danke für deine Hilfe

MFG


----------



## Lon3sWolf_VtG8 (21. Mai 2005)

Das kann daran liegen das die else schleife vergessen wurde , jedoch keine panik:


```
<?php 
 // Shoutcast Server Stats 
 // Nimmt die xml-datei von deinem radio server und zeigt sie in einem iframe der alle 30 sekunden refresht. 
 // ©[-D3bian-]|VtG8| & Lones_Wolf www.loneswolf.com 
 include('config_radio.php');   
 $scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30); 
  if(!$scfp) { 
   $scsuccs=1; 
 echo''.$scdef.' is Offline'; 
  } 
 if($scsuccs!=1){ 
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n"); 
  while(!feof($scfp)) { 
   $page .= fgets($scfp, 1000); 
  } 
 ####################################################################################################  ################## 
 /////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 
 //define  xml elements 
  $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS"); 
  $y=0; 
  while($loop[$y]!=''){ 
   $pageed = ereg_replace(".*<$loop[$y]>", "", $page); 
   $scphp = strtolower($loop[$y]); 
   $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed); 
   if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE) 
    $$scphp = urldecode($$scphp); 
  
 // uncomment the next line to see all variables 
 //echo'$'.$scphp.' = '.$$scphp.'<br>'; 
   $y++; 
  } 
 //end intro xml elements 
 ####################################################################################################  ################## 
 ####################################################################################################  ################## 
 /////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 
 //get song info and history 
  $pageed = ereg_replace(".*<SONGHISTORY>", "", $page); 
  $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed); 
  $songatime = explode("<SONG>", $pageed); 
  $r=1; 
  while($songatime[$r]!=""){ 
   $t=$r-1; 
   $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]); 
   $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]); 
   $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]); 
   $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]); 
   $song[$t] = urldecode($song[$t]); 
   $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page); 
   $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed); 
 $r++; 
  } 
 //end song info 
  
 fclose($scfp); 
 } 
  
 //display stats 
 if($streamstatus == "1"){ 
 //Hier kannst du den HTML Code noch verändern, passt nur auf das di Variablen intakt bleiben 
 echo' 
 <html> 
  
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
 <META HTTP-EQUIV="REFRESH" CONTENT="30;URL=hier kommt der name deiner .php seite rein"> 
 <link rel=stylesheet href="" type="text/css"> 
 <title>'.$scdef.'</title> 
 </head> 
  
 <body text="" bgcolor=""> 
  
  
  
  
 <p align="center"><center> 
  
  
 <font face="arial" size="2"><b>&nbsp;Server Name:</b>&nbsp;'.$servertitle.'</font></p> 
  
 <font face="arial" size="2"><b>&nbsp;Listeners:</b>&nbsp;'.$currentlisteners.' / 30</font></p> 
  
 <font face="arial" size="2"><b>&nbsp;Bitrate:</b>&nbsp;'.$bitrate.'</font></p> 
  
 <font face="arial" size="2" color=""><b> 
  
 	 
 	Current Song:</b> '.$song[0].'</font></p> 
 	<b> 
  
  
 	<font face="arial" size="2"> 
 	 
 	Past Songs:</font></b> 
 <font color=""><font face="arial" size="2"> 
 <p align="center"> 
 <b>1.</b>  '.$song[1].'<BR> 
 <b>2.</b>  '.$song[2].'<BR> 
 <b>3.</b>  '.$song[3].'<BR> 
 <b>4.</b>  '.$song[4].'<BR> 
 <b>5.</b>  '.$song[5].'<BR> 
 <b>6.</b>  '.$song[6].'<BR> 
 </font> 
 <BR> 
 </p></p> 
 </body> 
  
 </html>'; 
 }
  elseif($streamstatus == "0"){ 
  echo'
  <html> 
  
 <head> 
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
 <META HTTP-EQUIV="REFRESH" CONTENT="30;URL=hier kommt der name deiner .php seite rein"> 
 <link rel=stylesheet href="" type="text/css"> 
 <title>'.$scdef.'</title> 
 </head> 
  
 <body text="" bgcolor=""> 
  
  
  
  
 <p align="center">'.$scdef.'<center>
  </body> 
  
 </html>';
  }
  ?>
```
 
  Probier dies mal, es müsste klappen.

  Mit Freundlischen Grüßen

  Lon3sWolf_VtG8


----------



## PureSpider (30. Juni 2005)

@ Lones_Wolf:
Kannst du das Script so umschreiben, dass es kein fsockopen() benutzt?
Mein Provider mag das irgendwie nicht :suspekt: 
siehe da:
http://purespider.pu.funpic.de


----------



## Lon3sWolf_VtG8 (1. Juli 2005)

Hi PureSpider,

 hast du dieses Threat von anfang an gelesen, weil du brauchst die radio_config.php.
 Um deine Frage zu beantworten, ich glaube nicht das dies funktionieren wird. So leit es mir tut.

 Mit Freundlischen Grüßen

 Lon3sWolf_VtG8


----------



## PureSpider (1. Juli 2005)

natürlich hab ich den thread von anfang an gelesen ;-)
naja, dann werd ich mich mal nach nem neuen webhoster umschauen


----------

