PHP-Klasse Icecaststatus

Icecast status parsen und als Array zurückgeben

Steckbrief :: Icecaststatus

Parser für die Status.xsl des Icecast-Servers

Typ:
Klasse
Bei einem Icecast Streaming server können mit der status.xsl diverse Metadaten abgerufen werden.
Diese Klasse parst deren Ausgabe und stellt die Daten als ein Array bereit.

Anforderungen:
  • PHP 7 (es läuft auch auf PHP 5, wird aber nicht supportet)

Lizenz:
  • GNU GPL v3 (Opensource)

Installation

Kopieren Sie die Datei icecaststatus.class.php in ihr PHP-Verzeichnis. Sie kann auch in einem beliebigen Unterordner abgelegt werden.

Verwendung

$sStatusUrl = "http://[your-icecast-server]/status.xsl"; 
$o = new IcecastStatus($sStatusUrl); 

var_dump($o->getMounts());  // listet alle Mountpoints auf 

$a = $o->getData();         // listet alle Daten aller Mountpoints auf 
$a = $o->getData("[Name]"); // listet alle Daten des angegebenen Mountpoints auf

Dokumentation

Class: IcecastStatus

Methoden verstecken

 __constructpublic __construct( $sUrl) ... all param(s) required


@param string $sUrl urls to the status.xsl
@return boolean

 _getIcecastStatusprivate _getIcecastStatus()

read icecast status.xsl and create an array with all status infos.
@return boolean

 getMountspublic getMounts()

get a flat array with all mount points
@return array

 getDatapublic getData( $sMount = false)

get all icecast data as an array.

With a a given mount you get data of all mounts; with an existing
mount you get the data of this mount only.




require_once("icecaststatus.class.php");

$o = new IcecastStatus($sStatusUrl);

var_dump($o->getData("/m/drsvirus/aacp_32"));


returns

array (size=10)

'Stream Title' => string 'SRF Virus' (length=9)

'Stream Description' => string 'Radio SRF Virus - Radio, aber anders - srfvirus.ch...' (length=111)

'Content Type' => string 'audio/aacp' (length=10)

'Mount Start' => string '08/Oct/2013:15:16:39 +0200' (length=26)

'Bitrate' => string '32 ' (length=3)

'Current Listeners' => string '0' (length=1)

'Peak Listeners' => string '1' (length=1)

'Stream Genre' => string 'Pop Music' (length=9)

'Stream URL' => string 'http://srfvirus.ch' ... (length=69)

'Current Song' => string 'Radio SRF Virus - Radio, aber anders - srfvirus.ch ...' (length=115)

@param string $sMount name of an existing mount (use getMounts() method before); optional
@return array

Properties verstecken

$_sStatusUrlprivate $_sStatusUrl = false

url to the sttaus.xsl of an icecast server
@var string
$_aStatusprivate $_aStatus = false

array with all parsed data of all streams
@var array