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

Скрипты для Icecast

 

42
Николай @Morty
Дайте пожалуйста скрипт вывода 10 (а лучше 50 последних треков) из IсeCast.
Нет сил перечитывать все страницы темы(((

Добавлено спустя 1 минуту 51 секунду:
venia пишет:

Собственно как его заставить работать в DLE ?

Пиши в аську 9321793, помогу.

42
Николай @Morty
Вот есть такой скриптик небольшой.
показывает кто в эфире (Ведущий или нон стоп).
Если в эфире есть ведщий то информация берётся из Station description
По умлочанию стоит отображение имени и номера ICQ.
Для приавильного отображения надо в Station description написать:
Имя~номер аськи
Пример: Dj XXX~123456
При желании можно изменить что будет отображатся после имени.
<?php
$handle = fopen("http://тут ip:тут порт/status2.xsl?mount=/тут маунт", "rb"); //Для освновного потока
$contents = '';
while (!feof($handle)) { $contents .= fread($handle, 8192); }
fclose($handle);
$mas=explode(",",$contents);
$dj=$mas[15]; $dj = str_replace ("~", " ICQ: ", $dj); if ($text =='' and $dj=='')
{
/////////////////////////////////////Non stop/////////
$handle = fopen("http://тут ip:тут порт/status2.xsl?mount=/тут маунт", "rb"); //для нон стопа
$contents = '';
while (!feof($handle)) { $contents .= fread($handle, 8192); }
fclose($handle); $mas=explode(",",$contents); $dj='Non Stop'; }
echo 'Ведущий: '.$dj;
?>

(Кстати с этим скриптом у одного челоа проблема. У меня всё отображает нормально, а у него при любом положении (есть ведущий/нон стоп/поток отключен) пишет нон-стоп.)
Если не трудно, допишите пожалуйста к этому отображение текущего трека. А то я какт не особо в этом соображаю :)
И ещё есть один ********** прозвучавших в эфире. Скрипт использует бд mysql
В принципе неплохой скрипт но есть недочёты.
Если в эфире нету ведущего то с нонстопа информация о треках не выводится (хотя настройка для нон стопа есть) и не корректно отображает названия песен.
Если кому-то не сложно, поправьте пожалуйста и хотелось бы чтоб отображались 50 последних треков.

Отредактировано Morty - 04.04.2011
888
Falcon @Falcon
Ха-ха-ха...Морти, красть чужие скрипты не хорошо и к тому же, давать к ним кривые комментарии.

11
venia @venia
Falcon пишет:

Ха-ха-ха...Морти, красть чужие скрипты не хорошо и к тому же, давать к ним кривые комментарии.

Читай внимательней, он же не пишет что он написал их, он просит помощи у тех кто в этом лучше разбирается чем он.

1572
KyPIIaToB @KyPIIaToB
Все найденное в паблике не считается сворованным, на то он и паблик! Придумал ты, молодец, но не нужно теперь этим хвалиться!

42
Николай @Morty
Falcon пишет:

Ха-ха-ха...Морти, красть чужие скрипты не хорошо

Красть? Ты мне его сам дал. Или не помнишь?
KyPIIaToB пишет:

Все найденное в паблике не считается сворованным, на то он и паблик! Придумал ты, молодец, но не нужно теперь этим хвалиться!

Не знаю есть ли это в паблике но Falcon сам мне дал этот скрипт.

Отредактировано Morty - 05.04.2011
888
Falcon @Falcon
Morty пишет:

Falcon пишет:

Ха-ха-ха...Морти, красть чужие скрипты не хорошо

Красть? Ты мне его сам дал. Или не помнишь?
KyPIIaToB пишет:

Все найденное в паблике не считается сворованным, на то он и паблик! Придумал ты, молодец, но не нужно теперь этим хвалиться!

Не знаю есть ли это в паблике но Falcon сам мне дал этот скрипт.

Вот именно. данного скрипта в паблике нет. и я не давал своего согласия на публикацию его в паблик. А тебе этот скрипт был выдан не для твоей станции. Не помнишь?
Больше бесит другое, кривые комментарии к скрипту. Если не знаешь, как он работает и что откуда берет, то не комментируй и не вводи людей в заблуждение.

42
Николай @Morty
Falcon, То что я его опубликовал это не воровство.
Если не хочешь чтоб он был в паблике, скажи, я отредачу посты.
А по поводу комментов. Я написал как использовать, а откуда он что берёт, я думаю, не столь важно.

Отредактировано Morty - 05.04.2011
1572
KyPIIaToB @KyPIIaToB
Глупо сориться, во всяком случае этот форум и создан для помощи друг другу.

11
venia @venia
Народ так в чём может быть проблема не работает этот скрипт:

<?php
$handle = fopen("http://95.83.117.216:8100/status2.xsl?mount=/love", "rb"); //Для освновного потока
$contents = '';
while (!feof($handle)) { $contents .= fread($handle, 8102); }
fclose($handle);
$mas=explode(",",$contents);
$dj=$mas[15]; $dj = str_replace ("~", " ICQ: ", $dj); if ($text =='' and $dj=='')
{
/////////////////////////////////////Non stop/////////
$handle = fopen("http://95.83.117.216:8100/status2.xsl?mount=/ices", "rb"); //для нон стопа
$contents = '';
while (!feof($handle)) { $contents .= fread($handle, 8102); }
fclose($handle); $mas=explode(",",$contents); $dj='Non Stop'; }
echo 'Ведущий: '.$dj;
?>

И у меня все ровно отображает Ведущий Нон-стоп, менял даже местами патоки все ровно отображает ведущий нон-стоп, как это исправить ? есть люди кто встречался с этим?

6245
Тарас @tarasian666
ну подумайте логически, если отображает ведущий нон-стоп значит $text =='' and $dj==''
$text в скрипте вообще не встречаеться больше нигде, значит он уже равен ничему, пробуйте его убрать, если дальше будет значит $dj=='' и это в свою очередь значит что $mas[15]=='' и скорей $mas=='' то уже наверно не работает fopen

11
venia @venia
tarasian666 пишет:

ну подумайте логически, если отображает ведущий нон-стоп значит $text =='' and $dj==''
$text в скрипте вообще не встречаеться больше нигде, значит он уже равен ничему, пробуйте его убрать, если дальше будет значит $dj=='' и это в свою очередь значит что $mas[15]=='' и скорей $mas=='' то уже наверно не работает fopen

Скрипт то у других работает а у меня что-то не пашет.

6245
Тарас @tarasian666
у кого у других?
проверте работает ли fopen

11
venia @venia
tarasian666 пишет:

у кого у других?
проверте работает ли fopen

Да взять того-же Морти у него работает Он

Да и как мне проверить то *fopen* ? просто когда я убераю вообще паток у меня тупо скрипт выдоёт Ошибки либо вешает апач!

Добавлено спустя 5 минут 38 секунд:
Вот убераю отсюда адресс патока и мне выдоёт $handle = fopen("Вот тут адресс потока", "rb");

И мне выдоёт в браузере :
Warning: feof(): supplied argument is not a valid stream resource in /var/www/mysite.com/qwerty.php on line 4

Warning: fread(): supplied argument is not a valid stream resource in /var/www/mysite.com/qwerty.php on line 4

1572
KyPIIaToB @KyPIIaToB
Начнем с первого, прекрати писать пАток, и во вторых, тебе вообще доступен твой сервер именно по этому адресу? **********

11
venia @venia
KyPIIaToB пишет:

Начнем с первого, прекрати писать пАток, и во вторых, тебе вообще доступен твой сервер именно по этому адресу? **********

Да просто я с Белоруссии и у меня внешка закрыта, вот собственно когда меняю значение $dj=$mas[15] на 16 то у меня вместо ведущего пишет вот так Ведущий: - а когда ставлю обратно то Ведущий: Non Stop собственно незнаю как разобраться в этом.

1572
KyPIIaToB @KyPIIaToB
у тебя status2.xsl стандартный вообще? покажи инфу из него что ли
Вообще чтоб тут не флудить можешь написать в аську мне 8708021, возможно помогу как нить

22
bizkit-leech @bizkit-leech
<?php

echo "<meta http-equiv='refresh' content='10'>";

$ip = "192.168.1.5";
$port = "8080";
$ice2_station = "Сервер вещания:";
$page = "";


$fp = @fsockopen("$ip", $port, $errno, $errstr, 10);
$success=-999;
if(!$fp) {
$success=2;

//Если сервер вещания не зпущен
echo'<table width="100%" border="0" cellspacing="2" cellpadding="2" height="">
<tr>
<td align="center" width="100%" colspan="2"><b><i><font face="Georgia" color="#8A0808" size="2">
'.$ice2_station.' недоступен</font></i></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);
$page = ereg_replace("</pre>.*", ",", $page);

$numbers = explode(",",$page);
$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];
$mount = $numbers[11];
$connections = $numbers[12];
$station =$numbers[13];
$listeners = $numbers[14];
$description = $numbers[15];
$cur_song = $numbers[16];
$www_url = $numbers[17];

//Если сервер вещания запущен, но нет потока
if (strlen($mount)<2) echo
'<table width="100%" border="0" cellspacing="2" cellpadding="2" height="">
<tr>
<td align="center" width="100%"><b><i><font face="Georgia" color="#8A0808" size="2">
'.$ice2_station.' нет потока</font></i></b></td>
</tr>
</tr>
</table>';

//Если сервер вещания запущен и идёт поток
else echo
'<table width="100%" border="0" cellspacing="2" cellpadding="2" height="">
<tr>
<td align="center" width="100%"><b><i><font face="Georgia" color="#8A0808" size="2">
'.$ice2_station.' работает</font></i></b></td>
</tr>
<tr>
<td align="center" width="100%"><b><i><font face="Georgia" color="#8A0808" size="2">
Сейчас в эфире: '.$cur_song.'</font></i></b></td>
</tr>
</table>';
}

?>

Проблема устранена. Поправленый код.

Отредактировано bizkit-leech - 12.04.2011
42
Николай @Morty
Такой вариант
if ($ice2_station == '' and $cur_song == '')
{echo'<table>
<tr>
<td width="100%" colspan="2">
<img border="0" src="images/offline.gif" width="22" height="22">
<b><font face="Arial" size="2" color="#FF0000">'.$ice2_station.' недоступен</font></b></td>
</tr>
</table>';}

не пробовал?

221
Дмитрий @ElectroNik
Видел кто нибудь такой скрипт вывода 10 последних треков?
Нужно что бы скрипт брал с определённого маунта названия треков и записывал их в бд или txt файл и выводил их.