Titelanzeige aus Livestream auslesen und ausgeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo, liebe Forengemeinde,
ich verwende für die Titelanzeige auch ein PHP-Script, das die Titelanzeige der Livestreams ausliest und ausgibt. Es sieht wie folgt aus:
<?php function getMp3StreamTitle($streamingUrl, $interval, $offset = 0, $headers = true) { $needle = 'StreamTitle='; $ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36'; $opts = array('http' => array( 'method' => 'GET', 'header' => 'Icy-MetaData: 1', 'user_agent' => $ua ) ); if (($headers = get_headers($streamingUrl))) foreach ($headers as $h){ $currentSection = explode(':', $h); if (strpos(strtolower($h), 'icy-metaint') !== false && ($interval = $currentSection[1])) break; } $context = stream_context_create($opts); if ($stream = fopen($streamingUrl, 'r', false, $context)) { $buffer = stream_get_contents($stream, $interval, $offset); fclose($stream); if (strpos($buffer, $needle) !== false) { $currentSectionTwo = explode($needle, $buffer); $title = $currentSectionTwo[1]; return substr($title, 1, strpos($title, ';') - 2); } else return getMp3StreamTitle($streamingUrl, $interval, $offset + $interval, false); } else throw new Exception("Unable to open stream [{$streamingUrl}]"); } echo(getMp3StreamTitle('Stream-URL', 19200)); echo "\n\n"; ?>
Allerdings kommen unterschiedliche Ergebnisse zutage. Bei einigen Streams funktioniert der Code, bei einigen wird nichts oder "Werbung" ausgegeben und wiederum bei anderen Streams wird die Titelanzeige nicht geladen bzw. eine 504-Fehlermeldung ausgegeben.
Beispiele:
1) Bei diesem Stream funktioniert die Titelanzeige: http://85.25.217.22:8020/stream
2) Bei diesem Stream wird nichts oder "Werbung" ausgegeben: https://klassikr.streamabc.net/klassikradio-simulcast-mp3-hq
3) Dieser Stream wird nicht geladen, bzw. es wird eine 504-Fehlermeldung ausgegeben.: https://bob.hoerradar.de/mp3-radiobob
Ist da im Script ein Fehler eingebaut, oder muss ich nur etwas an den Parametern ändern?
Vielen Dank schonmal für die Antworten!
Viele Grüße Michael -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage