ShoutCast auslesen

#41
Hallo!
Der Code ist ja sehr lang und ich habe keine Ahnung von davon, aber ist es möglich nur den aktuell gespielten Titel und die letztem 10 Titel angezeigt zu bekommen.
Passwort für den Adminzugang habe ich und würde es gerne einbinden, aber ich habe keine Ahnung wie.
Wäre schön, wenn mir einer helfen könnte...
 
#42
Dieses Script parst im Prinzip einfach nur die 7.html, die von deinem Server erzeugt wird. Wenn du dir die mal ansiehst ( http://s8.pop-stream.de:8600/7.html ) dann stellst du fest, dass es eine Zusammenfassung von http://s8.pop-stream.de:8600 ist und dal findest du auch einen Link auf die History ( http://s8.pop-stream.de:8600/played.html ). Du müsstest nun diese played.html auch wieder parsen und schon hättest du deine gewünste Songhistory (wenn du die irgendwie besonders formatiert einbinden willst, sonst reicht ja auch die played.html zu verlinken). Da die played.html sehr viel komplexer ist, musst du für das parsen schon ein wenig nachdenken
 
#44
Original von lightsaver
So, nachdem ich mal meinen Freund Google gefragt habe, hat er mir folgende Seite genannt: http://devshed.excudo.net/scripts/php/example/shoutcast+class

Damit solltest du etwas anfangen können denke ich mal
Also müßte es so klappen oder:
<?php
$display_array = array("Stream Title", "Stream Genre", "Stream URL", "Current Song");

$radio = new Radio("s8.pop-stream.de:8600");

$data_array = $radio->getServerInfo($display_array);
?>
We got the following data (output of print_r($data_array);)

Array
(
[0] => Rockzone FM
[1] => Rock, Metal, Alternative, Gothic
[2] => http://www.rockzonefm.de
[3] => Masterplan - Black Dog
)



<?php
$radio->getHistoryTable("/played.html", "<b>Played At</b>", "<b>Song</b>", "songOverview");
?>

<style type="text/css">
.songOverview {
width:100%;
border:1px solid black;
background-color: #EEE;
}
.songOverview TD {
padding: 1px 10px 1px 1px;
}
</style>


Wenn ich das so aber eingebe kommt:
Fatal error: Class 'Radio' not found in /WWWROOT/143239/htdocs/werbung/test.php on line 4

Ich möchte oeben stehen: Zur Zeit läuft: Artist - Title
und dann darunter Das lief gerade: Artist - Title
 
#45
Also ich habe mir deren Installationsanleitung nicht angesehen, aber du wirst dir sicher noch deren shoutcast-klasse laden müssen. Der Beispielcode auf deren Seite zeigt dir nur, wie du das dann damit nutzen musst.
 
#46
Original von lightsaver
Also ich habe mir deren Installationsanleitung nicht angesehen, aber du wirst dir sicher noch deren shoutcast-klasse laden müssen. Der Beispielcode auf deren Seite zeigt dir nur, wie du das dann damit nutzen musst.
Okay, da ich das nicht kann, da mein english dafür nicht ausreicht und ich kein bischen Ahnung von dem Kram habe, lasse ich es dann wohl lieber sein...

Aber danke fürs Bemühen...
 
#47
Deine Englischkenntnisse reichen nicht dafür aus, die Anleitung zu übersetzen? Hmmm...

Na ich will dir mal beim Übersetzen helfen:
1. download the shoutcast-class source file
2. save this script in a file and put it in the same folder (on a webserver that supports php of course!)
3. optinally enter another ip (and port) on line 3 and 4 of this script
4. open it in a web-browser of your choice
1. shoutcast-class quellcode herunterladen
2. Script in dem selben Ordner auf dem Server speichern. Hier ist das Script unter http://devshed.excudo.net/scripts/php/example/shoutcast+class ganz unten gemeint und das muss mit der shoutcast-class.php in selben Ordner liegen
3. IP und Port in Zeile 3 und 4 anpassen
4. In einem Browser deiner Wahl den Link öffnen

So, wenn du die Ausgabe anders machen willst, dann hast du zumindest schonmal ein Beispiel, wie du es dann halt letztendlich machen musst. Gegebenfalls musst du dann aber den Link bei
Code:
include "shoutcast_class.php";
anpassen, falls deine Ausgabedatei und die shoutcast_class.php nicht im selben Ordner liegen
 
#48
Original von lightsaver
1. shoutcast-class quellcode herunterladen
2. Script in dem selben Ordner auf dem Server speichern. Hier ist das Script unter http://devshed.excudo.net/scripts/php/example/shoutcast+class ganz unten gemeint und das muss mit der shoutcast-class.php in selben Ordner liegen
3. IP und Port in Zeile 3 und 4 anpassen
4. In einem Browser deiner Wahl den Link öffnen

Also habe ich zwei Dateien im Ordner liegen?
Eine heißt shoutcast_class.php und wie nenne ich die andere?
 
#49
Wie du die andere nennst, bleibt dir überlassen. Nennen wir sie jetzt beispielsweise mal xyz.php . Das ist dann auch die Seite, die du im Browser aufrufst, also http://deine.domain.de/xyz.php

Du kannst den Code natürlich auch in eine bestehende Seite einbauen und dort anzeigen lassen, das bleibt ganz dir überlassen. Daher ist es ja auch nur ein Beispielscript, damit du weißt, wie du an die einzelnen Informationen herankommst. Einzig die shoutcast_class.php musst du unverändert lassen und halt die Verlinkung zu dieser muss stimmen (also anpassen, wenn die nicht im selben Verzeichnis liegt!)
 
#50
Auslesen ... irgendwie kommt nix ...

Wunderschoenen guten Tag an alle!

Ich arbeite seit einigen Tagen an einem kleinen Problem bei SHOUTcast D.N.A.S.! Bin noch neu in der Sache, daher bitte nicht schimpfen, falls ich hier etwas uebersehen habe. :)

Ich habe die Posts gelesen, doch bei mir kommt, wenn ich als Port: 20835 eigebe und bei Host:
http://server6.digital-webstream.de grad mal gar nichts und ich versteh es nicht.

Der folgende Link fuehrt zu meinem Stream dort (http://server6.digital-webstream.de:20835) und ich moechte lediglich den Status in eine IF - Bedingung einbinden, die in etwa so aussieht:

Code:
 if ( preg_match( 'Server is currently down.', $statuscontents ) ) { echo '<br />Die nächsten Sendetermine findet ihr in unserem Sendeplan!'; } else { echo '<br />TITEL & MODERATOR'; };
Meine Frage also: Wie bekomme ich den "Server Status" alleine? Vielen lieben Dank fuer jeden Hinweis!
 
#51
Anzeige benötigt

Hallo zusammen,

ich muss gleich vorne weg sagen das ich null peil habe von PHP und auch nicht erbost bin wenn mir keiner helfen möchte.
Und zwar hatte ich mal im Chat eine Radio Anzeige eingebaut allerdings mtittels Iframe in HTML.
Jetzt habe ich mehrfach versucht etwas zusammen zu schustern um die Anzeige wieder so hinzubekommen jedoch durch mein null wissen von PHP komm ich da nicht sehr weit.

Daher meine Frage ob sich jemand der Sache annehmen möchte und mir hilft.
Wie gesagt wenn nicht bin ich nicht erbost darüber.

So hatte ich mir die Anzeige vorgestellt.


Der Leere Button neben Radio Start blinkt grun mit der Schrift On AIR und an gleicher stelle sollte auch das OFF AIR gif ausgegeben werden.

Vorab vielen Dank an die, die mir helfen möchten.
Gruß
darky
 
#52
Hallo

das Script zum Auslesen ist ja wirklich super - vielen Dank erstmal dafür.

Jetzt aber noch eine Frage - ist es Möglich damit auch - leicht abgewandelt - Steamcast und Icecast2 auszulesen ?
 
#53
ist es Möglich damit auch - leicht abgewandelt - Steamcast und Icecast2 auszulesen
Icecast: yes, it is supported.
Steamcast: if you give me the location of a steamcast server i'll have a look if the code can already handle it and if not i won't mind to implement it.

regards,
marty - the developer of the shoutcast-class.

p.s.: i'm aware this is a German forum but i don't speak German. but i thought my contribution to this thread would be wanted anyways. if not: my apologies; just delete it and trash my profile.
 
#54
Hello Marty

well we just have to reapply our streams like icecast and steamcast, because our server got hacked. btw is it even possible to add Flash in the stats, too ?
 
#55
I'm working on a new version which will support xml-output. That way you could load the xml-data with flash and display it.
The new version will only run with PHP5 and higher though (whereas the current version also supports PHP4)
 
#57
Hack für 2 Server

Hi erstmal. Ich habe mal versucht, 2 Server einzubinden. Der eine übermittelt den Videostream, der andere den Audiostream. Aber ich bekomm das nicht hin. Zusätzlich würde ich gern das Bild des Modis der Sendung mit einbinden, welcher in der $shoutcast_cursong mit übertragen wird.
Darum 2 Fragen:

1. Wie erweiter ich das Script, damit die beiden Server (unterscheiden sich nur durch den Port) abgefragt werden.
2. Wie binde ich das Bild mit ein (ist in einer Galerie vorhanden)?

Hier der bisherige Code:
Code:
<?php
## shoutcasthack by bikky on ##
$server = "XX.XXX.XXX.XXX"; //hier deinen server eintragen z.b. musik.de oder 213.61.885.8
$port = 8000; //hier den port eintragen (ist standard (autom. korrigiert) 8000)
$fp = @fsockopen($server, $port, $errno, $errstr, 30);

if ($fp) {
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp))
$page .= fgets($fp, 1000);
fclose($fp);
$page = ereg_replace(".*<body>", "", $page);
$page = ereg_replace("</body>.*", ",", $page);
$numbers = explode(",", $page);
$shoutcast_currentlisteners = $numbers[0]; //variable ueber die aktuelle anzahl der zuhoerer
$connected = $numbers[1]; //variable zum anzeigen ob ein sender verbunden sind
if($connected == 1) {
$radio_status = 1; //variable zum anzeigen ob radio an ist oder nicht
$wordconnected = "yes"; //zusaetzliche variable die ich brauchte
}
else
$wordconnected = "no"; //zusaetzliche variable die ich brauchte
$shoutcast_peaklisteners = $numbers[2]; //variable die die anzahl der peaks angiebt
$shoutcast_maxlisteners = $numbers[3]; //variable ueber die maximal moegliche anzahl der zuhoerer
$shoutcast_reportedlisteners = $numbers[4]; //
$shoutcast_bitrate = $numbers[5]; //bitrate
$shoutcast_cursong = $numbers[6]; //aktueller song
$shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners; //gesamtbandbreite
$shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners; //gesamtpeakbandbreite

}

 
## output on ##
if ($radio_status == 1) {
echo '<b><a style="text-decoration: none;font-size:12px;" href="http://XXX.XXX.XXX.XXX/listen.pls"><img src="video.gif" align="middle">Videostream</img></a>&nbsp&nbsp&nbsp&nbsp<b><a style="text-decoration: none;font-size:12px;" href="http://XXX.XXX.XXX.XXX:8500/listen.pls"><img src="audio.gif" align="middle">Audiostream</img></a><br /><b> <font color="black"> Status: </font><font color="green">online</font> -<font color="black"> Aktuell:<marquee> >>' . $shoutcast_cursong . '<< </marquee><br />Zuhörer: ' . $shoutcast_currentlisteners . '/' . $shoutcast_maxlisteners . '</font></b>';
}
else {
echo '<b><img src="stop.gif" align="middle"></img>Radio ist zur Zeit <font color="red">offline</font>!</b>';
}
echo '</body></html>';
## output off ##
## shoutcasthack by bikky off ##
?>
 
#58
Moin zusammen,

sry, das ich den Thread mal ausgrabe^^

Ich habe mir folgendes Script angeschaut:http://www.hackerboard.de/code-kitchen/23733-shoutcast-auslesen-2.html#post217822

Kann man es i-wie so anpassen, das mir jenachdem, ob der AutoDj oder ein Modi OnAir ist, ein anderer Link und Bild ausgegben wird?
Sprich das soll eine Steuerung werden, wenn der AutoDj on is, das die Wunschbox off ist und wenn ein Modi on ist, halt die Wunschbox auch erreichbar ist.

MfG Kingluis
 
#59
Moin Moin zusammen

ich habe vor kurzen meine PHP Vision ( 5.6.40 ALT ) auf 7.1.30 gestellt, was jetzt auch erstmal kein Problem war ;-)
seit dem ich umgestellt habe bekomme ich beim aufrufen der Shoutcast scripte hier ne weiße Seite
, hat jemand ne Ahnung wo dran es liegen könnte

vielen dank in voraus ;-)

Lg. Raveman
 
Oben