ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

Скрипты для SHOUTcast

 

2605
Александр @AlexIT
lazarev смотри первую страницу этой темы, погугли, скриптов для шауткаста в инете море.

11
zil @zil
Вот код скрипта:
<?php html_entity_decode($content,0,"cp1251")>
// Shoutcast Server Stats
// Parses shoutcasts xml to make an effective stats thing for any website
// ©2004-2005 Daniel Brown **********
// Please refer to the readme file for use.


// Add-On MAXLISTNERS insead of the / 10 MAXLISTENERS which was set, and the BITRATE add-on.
// Online and Offline graphics, and add-on code.
// Better HTML Script.

// Do Not Try To Edit This Only Unless You Know What You're Doing!!!!!!!

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", "MAXLISTENERS", "BITRATE", "RADIO",);
$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"){
//you may edit the html below, make sure to keep variable intact
echo'
<html>

<head>

<meta http-equiv="content-type" content="text/html; charset="windows-1251" />
<link rel=stylesheet href="" type="text/css">
<title>'.$scdef.'</title>
</head>

<body text="" bgcolor="">


<p align="center"><center>
<img src="http://www.r-radio.org/images/radio-online.gif"><br>
<b>За вертушкой:</b> '.$servertitle.'<br>
<b>Сейчас играет:</b> '.$song[0].'<br>
<b>Качество:</b> '.$bitrate.'kbps<br>
<b>Нас слушают:</b> '.$currentlisteners.'<br>
<b>Слушать:</b> <a href=http://89.108.83.167:8000/listen.pls><img src=/images/winamp.gif border=0></a> <a href=mms://89.108.83.167:8000/><img src=/images/wmp.gif border=0></a> <a href="http://www.r-radio.org/radio.htm" target="blank"><img src=/images/open.gif border=0></a></p>
</body>
</html>';
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo'
<html>

<head>
<meta http-equiv="content-type" content="text/html; charset="windows-1251" />
<link rel=stylesheet href="" type="text/css">
<title>Radio Server Is Offline</title>
</head>

<body text="" bgcolor="">
<center>
<img src="http://www.r-radio.org/images/radio-offline.gif">
</body>

</html>';
}
?>

Всёравно не пашет =(

2605
Александр @AlexIT
<?php
html_entity_decode($content,0,"cp1251")
...

$content=..

Так чтоли попробуй..

11
zil @zil
AlexIT пишет:

<?php
html_entity_decode($content,0,"cp1251")
...

$content=..

Так чтоли попробуй..

Сделал вот так:

<?php
html_entity_decode($content=0, "cp1251")

И пишет вот это - Parse error: syntax error, unexpected T_INCLUDE in /home/torpedo/public_html/r-radio/radio_stats.php on line 15

15 строчка - include('config_radio.php');

Отредактировано zil - 28.05.2007
11
zil @zil
ап

140
GOD @GOD
Извеняйте за оффтоп

lacoste чё ты тут забыл????

11
zil @zil
включи мозг =)))

12
Rainbow_Demon @Rainbow_Demon
Да, включить мозг не мешало бы.

$content = html_entity_decode($content, 0, "cp1251");

P.S. Вообще-то функция должна возвращать значение, это по-моему даже в школе учат.

11
Serz @Serz
Kak zdelatj chtobi mozno bilo naprimer na sajte postavlju playlist, chtobi ljudi zakazivali pesjni i chtob pokazivala kakaja pesjnja zvuchit schas v efire i kakaja pesjnja dleduschaja.Kakoj dlja etogo nuzen skript? i kak ego postavitj na sajt?Raskazite pozalusta podrobnee.

1400
Pheoru @Pheoru
Почитай внимательно тему, все освещалось.

2605
Александр @AlexIT
Serz, для заказов с сайта samPHP - идет в комплекте с SAM Broadcaster, для остального есть скрипты - см. первую страницу данного топа.

4
foma @foma
Rainbow_Demon пишет:

Для тех кто столкнется с проблемами кодировки: SHOUTcast отдает поумолчанию в windows-1252, в конфигах вроде бы поменять это нельзя. Если использовать вэб-интерфейс сервера то боротся с этим не возможно, если использовать скрипты для получения контента, нужно использовать такую функцию html_entity_decode($content,0,"cp1251") чтоб получать названия трэков в нормальной кодировке.

все равно русские буквы не правильно отображаются. отображает только несколько букв "я"

162
arseny @arseny
Эй а ты через что вещаешь? Случайно не через Shoutcast DSP plugin?

1400
Pheoru @Pheoru
Для "ShoutCast DSP Plugin" есть специальный патч.

2605
Александр @AlexIT
И лежит он на саундкодере, ссылка есть в моей подписи.

20
Anton @Anton
Приветик.
мне нужна помощь..
у меня почему то всегда при установке скриптов выскакивает что сервер офлайн.. хотя он онлайн.. и меня могут слышать с других компов...
и к тому же если я захожу на svoy.ip:80 то там тоже все ок.. и люди тоже видят ту страничку..

кто знает почему? может я в скрипте что то не так делаю?
и еще ********** тоже меня видит..
я просто щас делаю сайт для своего будущего радио.. вот..

заранее благодарен.

162
arseny @arseny
какой конкретно скрипт используешь? Если радио нормально вещает, и его можно слушать, значит скрипт неправильно работает, или настроен неправильно (ip:port) в самом скрипте. Покажи в общем сам скрипт и ссылку дай на свой поток.

2605
Александр @AlexIT
В некоторых скриптах необходимо указывать пароль к админке.

20
Anton @Anton
пароль от админки, это тот где написано adminpass в настройках, да?
и еще у меня к вам вопрос как входить в админку.. какой надо указывать логин.. хехе а то у меня никогда не получается.. :(

вот ссылка: **********
а скрипт Full SHOUTcast Server Stats, самый первый в этой теме.. хихи

$host = "84.109.13.243";
$port = "80";
$password = "мой_пароль";

так вот пароль я пробывал ставить и adminpass и пароль которым ващаю из винампа.. вот..

162
arseny @arseny
login: admin