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

Скрипты для Icecast

 

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

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

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

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

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

0
2
JaspeR @JaspeR
  1. <?php
  2. $ip = "server ip"; //your server address in the form of mydomain.com or 192.161.1.1
  3. $port = "port"; //the port of your server
  4. $ice2_station = "name"; // your station or stream name
  5. $fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
  6. if(!$fp) {
  7. $success=2; //set if no connection
  8. //edit html to fit your stations site, this display is for offline status
  9. echo'<table>
  10. <tr>
  11. <td width="100%" colspan="2">
  12. <img border="0" src="" width="22" height="22">
  13. <b><font face="Arial" size="2" color="#FFFFF">'.$ice2_station.' is currently offline</font></b></td>
  14. </tr>
  15. </table>';
  16. }
  17. if($success!=2){ //if connection
  18. fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
  19. while(!feof($fp)) {
  20. $page .= fgets($fp, 1000);
  21. }
  22. fclose($fp); //close connection
  23. $page = ereg_replace(".*<pre>", "", $page); //extract data
  24. $page = ereg_replace("</pre>.*", ",", $page); //extract data
  25. $numbers = explode(",",$page); //bomb it and extract data
  26. $mount = $numbers[0];
  27. $connections = $numbers[1];
  28. $stream_n = $numbers[2];
  29. $listeners = $numbers[3];
  30. $desc = $numbers[4];
  31. $cur_song = $numbers[5];
  32. $str_url = $numbers[6];
  33. $client_info = $numbers[7];
  34. $test1 = $numbers[8];
  35. $test2= $numbers[9];
  36. $test3 = $numbers[10];
  37. $mount = $numbers[11];
  38. $connections = $numbers[12];
  39. $station =$numbers[13];
  40. $listeners = $numbers[14];
  41. $description = $numbers[15];
  42. $cur_song = $numbers[16];
  43. $www_url = $numbers[17];
  44. echo'
  45. <table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  46. <tr>
  47. <td width="100%"><b><font face="Arial" size="2" color="white">
  48. <img border="0" src="" width="22" height="18">
  49. Слушателей: '.$listeners.'</font></b></td>
  50. </tr>
  51. <tr>
  52. <td width="100%"><b><font face="Arial" size="2" color="white">
  53. <img border="0" src="" width="21" height="21">
  54. Играет: '.$cur_song.'</font></b></td>
  55. </tr>
  56. <tr>
  57. <td width="100%"><b><font face="Arial" size="2" color="white">
  58. <img border="0" src="" width="15" height="15">
  59. <a href="http://'.$ip.':'.$port.''.$mount.'.m3u"><center><img border="0" src="" width="129" height="45"></center></a></font></b></td>
  60. </tr>
  61. </table>';
  62. }
  63. ?>

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

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

0
2
JaspeR @JaspeR
KyPIIaToB пишет:

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

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

Дополнено:

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

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

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

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

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

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

0
7094
Dim @Render
Nekst пишет:

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

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

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

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

Не совсем понятно, как должна проверятся активность моунта, но может как-то так:
  1. <?
  2. if(isset($mount) && $mount == "") {
  3. echo "0";
  4. // если переменная моунт существует и её значение равно "null" то выводить "0"
  5. }
  6. if(isset($mount) && $mount == "/play") {
  7. echo "1";
  8. // если переменная моунт существует и её значение равно "/play" то выводить "1"
  9. }
  10. if(isset($mount) && $mount == "/dj") {
  11. echo "2";
  12. // если переменная моунт существует и её значение равно "/dj" то выводить "2"
  13. }
  14. ?>

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

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

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

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

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

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

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

  1. <?php
  2. $file_name='http://www.domain.com:8000/status2.xsl?mount=/listen';
  3. $r=fopen($file_name,'r');
  4. $text=fread($r,1000);
  5. fclose($r);
  6. $mass=explode(",", $text);
  7. $current=$mass [16];
  8. $description=$mass [13];
  9. $cm=explode(" - ", $current);
  10. ?>
  11. <ul class="song">
  12. <li><strong>?????????»???????µ?»??:</strong> <? echo $cm[1]?> </li>
  13. <li><strong>???°?·???°?????µ ?????µ???°:</strong> <? echo $cm[2]?></li>
  14. </ul>

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

  1. echo substr(iconv("UTF-8","cp1251",$mass [16]),3);

?????¶?µ ?????µ?????°?????? ???°?±?????°?µ?? ?? ???µ???µ?????????? ?????»????????, ???°?? ?????? ?? ???µ?? ????????????, ???°?? ?????µ ?????µ?»?°???? ?? ?????????????µ, ?????????????? ???????µ ???µ???µ???µ???????µ $cm[1] $cm[2], ???????±?? ?????? ?????????????»?? ?????????????? ???·????? ???????±?????°?» ???????????°???»?????? ?? ?????? ?????????????° ?????????????? ???µ???µ?????????????????? - ???µ ?????»???????»??????, ?????¶?µ?? ?? ???????? ?????»???????????? ?????? ?????µ?»?°???? ???· ???????? ???????? ???°?????µ???

0
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
0
10
Nekst @Nekst
Falcon К сожалению не работает, статистика совсем отключается (пропадает все)

0
7094
Dim @Render
  1. <?
  2. $file_name='http://localhost:8000/status2.xsl';
  3. $m_name='/listen'; ##???°?·???°?????µ ???????????°
  4. if($r=@fopen($file_name,'r'))
  5. {
  6. $text=fread($r,1000);
  7. fclose($r);
  8. if (strpos($text,$m_name)) {$m_output.="?????????? ???????µ?????????µ??";} else {$m_output.="?????????? ???????????????????µ??";}
  9. }
  10. else {echo "???????±???°."; exit();}
  11. ?>
  12. <!-- html -->
  13. <? echo $m_output; ?>

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

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

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

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

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

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

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

0
7094
Dim @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);

0