Experimentando la vida
Shoutcast Server Information
Información del proyecto
Descripción
Descarga
Versión
API
Variables de informacíón
Ejemplo
Descripción
Class PHP que permite obtener informacion acerca de la transmision de un servidor de streaming Shoutcast
Descarga
Source: shoutcast.php
Versión
2.1
API
public Shoutcast::server_online (void)
Devuelve TRUE o FALSE si el server esta en linea o no (Esto es distinto a si el server esta transmitiendo o no, esa informacion se obtiene con la variable STATION_STATUS)
public Shoutcast::admin_mode (void)
Devuelve TRUE si se esta trabajando en modo admin o FALSE en caso contrario
public Shoutcast::get (string $var)
Devuelve el valor de la variable ingresada, y en caso de no existir la variable o no ser accesible devuelve una cadena vacia
Variables a las que se puede acceder
En modo simple (sin iniciar sesion como administrador):
CURRENT_LISTENERS : Cantidad de oyentes actuales
STATION_STATUS : Vale TRUE si el servidor esta transmitiendo o FALSE en caso contrario
LISTENERS_PEAK : Pico máximo de oyentes simultaneos en un momento
LISTENERS_LIMIT : Capacidad máxima de oyentes permitida
UNIQUE_LISTENERS : Cantidad de oyentes únicos (IP)
BITRATE : Frecuencia de la transmisión
CURRENT_SONG : Título de la canción actual
En modo admin:
Se puede acceder a todas las variables del modo simple y las siguientes
STATION_GENRE : Genero de la estación de radio
STATION_URL : Dirección web de la estación
STATION_TITLE : Título de la estación
IRC : IRC de la estación
ICQ : ICQ de la estación
AIM : AIM de la estación
CONTENT_TYPE : MIME del contenido transmitido
SERVER_VERSION : Versión del servidor
SONG_HISTORY : Historial de canciones – Array ( TIMESTAMP, TITLE )
LISTENERS : Información de los oyentes – Array ( HOST, PLAYER, UNDER_RUNS, CONNECT_TIME, POINTER, UID})
Ejemplo de Uso
include 'shoutcast.php'; $s = new Shoutcast("xxx.xxx.xxx.xxx", "8000", "usuario", "password", 10); if ( ! $s->server_online() ) echo 'Server offline'; else { if ( 0 == $s->get('STATION_STATUS') ) echo 'Transmition off'; else { $format = '<strong>%s:</strong> %s <br />'; //Print Current Listeners printf ($format, 'Current Listeners', $s->get('CURRENT_LISTENERS')); //Print Current Song printf ($format, 'Current Song', $s->get('CURRENT_SONG')); //Print Song History if ( $s->admin_mode() ) { $str_history = ''; foreach ( $s->get('SONG_HISTORY') as $song ) $str_history .= '<br />' . $song['TITLE']; printf ($format, 'Song History', $str_history); } } }
hace 7 meses
Hola!
La verdad es que tengo un problema,.. estoy escuchando mi propia radio, hago la prueba en el server con php5 y,… el servidor del shoutcast está offline? Pero si la estoy escuchando! Curiosidad me voy a la pagina del server y me carga perfectamente,… que es lo que pasa?
hace 7 meses
Hola @Knight, deberias chequear que estes apuntando a la IP y puerto correctos..
Tu server PHP esta en la misma computadora donde esta el servidor shoutcast? las pruebas que estas haciendo son locales???
Ahora bien, si estas ejecutando el script desde otro servidor, hacia tu pc, deberias verificar que los puertos esten abiertos y redirigidos correctamente en tu router! La clase funciona perfectamente ya que mucha gente la esta utilizando, deberias revisar esas otras cuestiones que son mas de Red, que de codigo
Suerte
hace 6 meses
Esto funciona igual para este servidor???
giss.tv
hace 6 meses
No Daniel, solo para shoutcast
hace 6 meses
Tengo mi radio, funciona normal
En mi server http://192.168.1.111:8000/ quiero entrar en admin log in pero no se cual es mi usuario.
hace 6 meses
Hola sergio, en el shoutcast server monitor, hay un boton que dice Edit Config, ahi figuran tu usuario y contraseña, o al menos la contraseña y por default, el usuario es “admin”
Suerte
hace 5 meses
Disculpa como puedo hacer funcionar el song_history
hace 5 meses
Hola lorenzo, podrias usar el ejemplo que esta al final del codigo de ejemplo, bajo el comentario //List Song History
Basicamente SONG_HISTORY es un Array, como dice en la documentacion, por lo que podrias hacer un print_r() del mismo para conocer su contenido y asi saber de que manera procesarlo.
Recorda que SONG_HISTORY esta solo en Admin Mode, para lo que necesitaras el usuario y la contraseña del servidor
hace 4 meses
HOla, estoy usando este script pero no logro ver el listado de temas emitidos.
Estoy probando el codigo del ejemplo que sale en esta pagina, coloco mis datos de usuario y contraseña pero solo logra desplegar la informacion básica y no el historial de canciones.
Si entro directamente a la pagina de shoutcast con mis datos si puedo ver el listado de temas pero desde este escript no.
Que puede estar pasando? he revisado el codigo y aparentemente no veo nada anormal.
Gracias
hace 3 meses
Hola, discula las molestias, queiro insertar el codigo pero no se como hacerlo, pongo en html y no sale nada, en que campo de html de la pagina va puesto?? gracias
hace 3 meses
Hola Greci, si podes postea el codigo que estas utilizando para ver si puedo ayudarte
hace 3 meses
Daniel, no es html esto, es PHP, por ende, no hay un campo en donde insertarlo, primero tendrias que aprender PHP. y luego implementar la clase en tu proyecto
hace 2 meses
Hola, como se puede hacer el Print pero de la variable (admin) LISTENERS?
Trato de copiar el codigo como estan en SONG_HISTORY pero no puedo conseguirlo.
Plis HELP
hace 2 meses
Hola seba, te explico
LISTENERS es un array, con todos los oyentes, por eso al hacer foreach obtenes cada uno de esos oyentes, ahora, cada oyente es a su vez otro array, por ende, tendrias que decirle que clave es la que quieres!..
Fijate que las claves del array de oyente esta especificada en la lista de variables.
Por las dudas te la transcribo aqui.
Array ( HOST, PLAYER, UNDER_RUNS, CONNECT_TIME, POINTER, UID})
por ende, si quieres obtener el Reproductor por ejemplo que esta usando cada uno de tus oyentes deberias hacer algo asi
foreach($s->get(‘LISTENERS’) as $listener) {
echo $listener['PLAYER']; //Aca le pedis la clave que devuelve el Reproductor usado
}
Lo mismo con cualquier otra clave del array
hace 2 meses
cuales son las lineas q hay q editar no se entiende porfa explicar
hace 2 meses
hola roger, no hay que editar ninguna linea, para utilizar la clase tenes que tener conocimientos de PHP Orientado a Objetos, y solo incluir el archivo shoutcast.php en tu codigo e instanciar la clase como un objeto, luego, utilizar los metodos nombrados mas arriba para poder acceder al estado del servidor o a las distintas variables… en el codigo de ejemplo hay varios casos usados en el mismo ejemplo, solo deberias basar tu codigo en lo se parezca mas a lo que necesitas hacer