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

Скрипты для Icecast

 

4
Дмитрий @dimasss7777
у меня есть скрипт который выводит 10 последних песен но он не обновляется и пишит не понятными символами как это все исправить напишите мне в аську 476504969 или 3140699

1572
KyPIIaToB @KyPIIaToB
Не понятные символы это копай в сторону кодировки. Не обновляется в каком смысле?

4
Дмитрий @dimasss7777
KyPIIaToB пишет:

Не понятные символы это копай в сторону кодировки. Не обновляется в каком смысле?

ну песня проиграла и таже она осталась в статистике

2
JaspeR @JaspeR
<?php

$ip = "server ip"; //your server address in the form of mydomain.com or 192.161.1.1
$port = "port"; //the port of your server
$ice2_station = "name"; // your station or stream name


$fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
$success=2; //set if no connection



//edit html to fit your stations site, this display is for offline status
echo'<table>
<tr>
<td width="100%" colspan="2">
<img border="0" src="" width="22" height="22">
<b><font face="Arial" size="2" color="#FFFFF">'.$ice2_station.' is currently offline</font></b></td>
</tr>
</table>';
}

if($success!=2){ //if connection
fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
while(!feof($fp)) {
$page .= fgets($fp, 1000);
}
fclose($fp); //close connection
$page = ereg_replace(".*<pre>", "", $page); //extract data
$page = ereg_replace("</pre>.*", ",", $page); //extract data

$numbers = explode(",",$page); //bomb it and extract data
$mount = $numbers[0];
$connections = $numbers[1];
$stream_n = $numbers[2];
$listeners = $numbers[3];
$desc = $numbers[4];
$cur_song = $numbers[5];
$str_url = $numbers[6];
$client_info = $numbers[7];
$test1 = $numbers[8];
$test2= $numbers[9];
$test3 = $numbers[10];
$mount = $numbers[11];
$connections = $numbers[12];
$station =$numbers[13];
$listeners = $numbers[14];
$description = $numbers[15];
$cur_song = $numbers[16];
$www_url = $numbers[17];

echo'
<table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">

<tr>
<td width="100%"><b><font face="Arial" size="2" color="white">
<img border="0" src="" width="22" height="18">
Слушателей: '.$listeners.'</font></b></td>
</tr>
<tr>
<td width="100%"><b><font face="Arial" size="2" color="white">
<img border="0" src="" width="21" height="21">
Играет: '.$cur_song.'</font></b></td>
</tr>
<tr>
<td width="100%"><b><font face="Arial" size="2" color="white">
<img border="0" src="" width="15" height="15">
<a href="http://'.$ip.':'.$port.''.$mount.'.m3u"><center><img border="0" src="" width="129" height="45"></center></a></font></b></td>
</tr>
</table>';
}


?>

Здравствуйте.
После того как поставил последнюю версию icecast, у меня перестал работать скрипт который указал RabinoVich в 536 посте. Статистика постоянно выдаёт мол в эфире никого нет.
Взял эту статистику, подскажите как добавить строку чтобы выводился Title (Имя диджея) и Bitrate (качество потока)? Целый день ищу, не могу найти ничего полезного :(

Отредактировано JaspeR - 04.07.2011
1572
KyPIIaToB @KyPIIaToB
поставь web от тарой своей версии с которой скрипт норм работал

2
JaspeR @JaspeR
KyPIIaToB пишет:

поставь web от тарой своей версии с которой скрипт норм работал

А проблем с кодировкой не будет?

Дополнено:

Большое спасибо, скопировал папку WEB со старого icecast'а. Всё отлично работает)))

Отредактировано JaspeR - 04.07.2011
1572
KyPIIaToB @KyPIIaToB
Ну я от куда могу знать, будут ли у тебя проблемы с кодировкой. Поставь и проверь.

10
Nekst @Nekst
Товарищи у меня немного странная просьба:
Поскольку я плохо знаю PHP, но я все же собрал скрипт для icecast, единственное что мне осталось сделать - это задать функцию показа блока статистики при выключенным радио и при включенном.

Буду очень благодарен если вы напишете сдесь рабочий код смены информации в зависимости от состояния работы радиоканала(mounta), если я плохо обяснил просьбу напишу так:

Нужен код, который будет зависить от статуса радио тоесть если если mount активен, то выводится блок с цифрой 1, если же mount не активен то выводится блок со значением 0.

Надеюсь я правильно описал просьбу, буду очень благодарен!

7094
--- @Render
Nekst пишет:

Товарищи у меня немного странная просьба:
Поскольку я плохо знаю PHP, но я все же собрал скрипт для icecast, единственное что мне осталось сделать - это задать функцию показа блока статистики при выключенным радио и при включенном.

Буду очень благодарен если вы напишете сдесь рабочий код смены информации в зависимости от состояния работы радиоканала(mounta), если я плохо обяснил просьбу напишу так:

Нужен код, который будет зависить от статуса радио тоесть если если mount активен, то выводится блок с цифрой 1, если же mount не активен то выводится блок со значением 0.

Надеюсь я правильно описал просьбу, буду очень благодарен!

Не совсем понятно, как должна проверятся активность моунта, но может как-то так:
<?
if(isset($mount) && $mount == "") {
echo "0";
// если переменная моунт существует и её значение равно "null" то выводить "0"
}
if(isset($mount) && $mount == "/play") {
echo "1";
// если переменная моунт существует и её значение равно "/play" то выводить "1"
}
if(isset($mount) && $mount == "/dj") {
echo "2";
// если переменная моунт существует и её значение равно "/dj" то выводить "2"
}
?>

Либо вообще
<?
if(!$mount) { echo "0"; } else { echo "1"; }
?>

Можно в любой степени переделать проверку и условие. Если точно указать, как делать проверку [при выключенным радио и при включенном].

Отредактировано Render - 01.08.2011
10
Nekst @Nekst
Render - Вот второй вариант мне больше нравится, а конкретно написать сам скрипт проверки можешь?
Скажем на проверку маунта есть в нем вещание или нет, такое возможно?

105
Faet0n @Faet0n
Проверить есть в нём поток или нет, можно по состоянию текущего трека.

10
Nekst @Nekst
А сам скрипт проверки существует поток или нет есть?

10
Nekst @Nekst
?? ?µ?????? ?µ???µ ???????? ???µ?????µ?·?????? ????????????:

?? ???°?? ???° ???????????µ ???°???µ?» ?????????????? ???°?±???????? ???????????? ???????????° ?????????»???????µ?»?? ?? ???°?·???°?????? ???µ??????:

<?php
$file_name='http://www.domain.com:8000/status2.xsl?mount=/listen';
$r=fopen($file_name,'r');
$text=fread($r,1000);
fclose($r);
$mass=explode(",", $text);
$current=$mass [16];
$description=$mass [13];
$cm=explode(" - ", $current);
?>

<ul class="song">
<li><strong>?????????»???????µ?»??:</strong> <? echo $cm[1]?> </li>
<li><strong>???°?·???°?????µ ?????µ???°:</strong> <? echo $cm[2]?></li>
</ul>

? ?°?±?????°?µ?? ?????»????????, ???? ???????±?»?µ???° ?? ???????????????????? (???°?? ???±????????), ?????????????? ?????? ?????????????? ???µ???????? ???°???°?????»??, ???°???¶?µ ?? ?? ???°?? ???°???µ?» ???°?±???????? ??????????????:

echo substr(iconv("UTF-8","cp1251",$mass [16]),3);
?????¶?µ ?????µ?????°?????? ???°?±?????°?µ?? ?? ???µ???µ?????????? ?????»????????, ???°?? ?????? ?? ???µ?? ????????????, ???°?? ?????µ ?????µ?»?°???? ?? ?????????????µ, ?????????????? ???????µ ???µ???µ???µ???????µ $cm[1] $cm[2], ???????±?? ?????? ?????????????»?? ?????????????? ???·????? ???????±?????°?» ???????????°???»?????? ?? ?????? ?????????????° ?????????????? ???µ???µ?????????????????? - ???µ ?????»???????»??????, ?????¶?µ?? ?? ???????? ?????»???????????? ?????? ?????µ?»?°???? ???· ???????? ???????? ???°?????µ???

888
Falcon @Falcon
<li><strong>?????????»???????µ?»??:</strong> <? echo substr(iconv("UTF-8","cp1251",$cm[1],0);?> </li>
<li><strong>???°?·???°?????µ ?????µ???°:</strong> <? echo substr(iconv("UTF-8","cp1251",$cm[2],0);?></li>

Отредактировано Falcon - 01.08.2011
10
Nekst @Nekst
Falcon К сожалению не работает, статистика совсем отключается (пропадает все)

7094
--- @Render
<?
$file_name='http://localhost:8000/status2.xsl';
$m_name='/listen'; ##???°?·???°?????µ ???????????°
if($r=@fopen($file_name,'r'))
{
$text=fread($r,1000);
fclose($r);
if (strpos($text,$m_name)) {$m_output.="?????????? ???????µ?????????µ??";} else {$m_output.="?????????? ???????????????????µ??";}
}
else {echo "???????±???°."; exit();}
?>
<!-- html -->
<? echo $m_output; ?>

<li><strong>?????????»???????µ?»??:</strong> <? echo substr(iconv("UTF-8","cp1251",$cm[1],0);?> </li>
<li><strong>???°?·???°?????µ ?????µ???°:</strong> <? echo substr(iconv("UTF-8","cp1251",$cm[2],0);?></li>

???????±???? ?µ???? ???µ ?????°???°?µ?? ?????????µ.

10
Nekst @Nekst
Render, действительно скобок не хватало - русификация заработала, как же то я сам не увидел)

<?
$file_name='http://localhost:8000/status2.xsl';
$m_name='/listen'; ##название моунта
if($r=@fopen($file_name,'r'))
{
$text=fread($r,1000);
fclose($r);
if (strpos($text,$m_name)) {$m_output.="Поток существует";} else {$m_output.="Поток отсутствует";}
}
else {echo "Ошибка."; exit();}
?>
<!-- html -->
<? echo $m_output; ?>

В данный код, если вставить место - Поток существует и Поток отсутствует вставить код html с php страницы он заработает?

10
Nekst @Nekst
PHP код работает отлично, НО проблема:
Попробовал я вставить html код (<iframe>) вместо слов, не сработало, также пробовал вставить include '-----.php'; тоже не помогло, люди не подскажите, что можно вставить вместо - Поток существует и Поток отсутствует, чтобы выводил php файл по ссылке?

10
Nekst @Nekst
Theme UP!
Неужели никто не может помочь с этим вопросом?

7094
--- @Render
if (strpos($text,$m_name)) {$m_output.="/var/www/site.ru/on.php";} else {$m_output.="/var/www/site.ru/off.php";}

...
include ($m_output);