ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

проблема с Icecast

 

602
Женя @zhekaosincev
Здравствуйте! Сегодня обнаружил проблему на сайте!
Когда слушатели не слушают эфир (0) на сайте выводит: Online: -2
"-2" вместо 0
В самом Icecast ( на странице статистики) в поле:
Peak Listeners: 0
стоит 0. Когда к примеру слушают 5 человек, то минуты 3 стоит
Peak Listeners: 5, затем снова Peak Listeners: 0
в чем трабл??? Заранее спасибо

Отредактировано zhekaosincev - 15.11.2011
0
1572
KyPIIaToB @KyPIIaToB
Зачет, а скрипт и ссылку на айс мы сами найдем?

0
602
Женя @zhekaosincev
  1. <em class="time"><font size="3" color="white">Online: <?php
  2. $file_name='http://91.228.152.154:8000/status2.xsl';
  3. $r=fopen($file_name,'r');
  4. $text=fread($r,300);
  5. fclose($r);
  6. $mass=explode(",", $text);
  7. echo $mass [9] ."";
  8. ?></font></em>

скрипт выводы ко-во слушателей с 2х потоков

0
1572
KyPIIaToB @KyPIIaToB
ниче то что у тебя в самом айсе показывает Source: ,,-2,, ?

0
602
Женя @zhekaosincev
и где это я ошибся? в конфиге? не подскажешь где именно?

0
1572
KyPIIaToB @KyPIIaToB
Конфиг тут не причем.
Советую снимать с каждого маунта стату и выводить общаг уже так.

0
410
Евгений @Drakkar
Попробуй выдернуть из этого кода нужные тебе переменные. Код отлажен и проверен. Создаёт в корне сайта max.php, где сохраняет пиковое кол-во слушателей. Код в даннном случае выводит статистику с двух маунтов и суммирует их. Код в даннном случае ещё парсит трек из сэма.
  1. <?php
  2. function get_title ($mount){
  3. $r=fopen($mount,'r');
  4. $text=fread($r,2000);
  5. fclose($r);
  6. $mass=explode(",", $text);
  7. return $mass [17];
  8. }
  9. $mount1 = "http://ip:порт/status2.xsl?mount=/*******";
  10. $mount2 = "http://ip:порт/status2.xsl?mount=/*******";
  11. $mount3 = "--//-- третьего --//--";
  12. if(get_title($mount1) !='')
  13. {
  14. echo get_title($mount1);
  15. }
  16. elseif(get_title($mount2) !='')
  17. {
  18. echo get_title($mount2);
  19. }
  20. else
  21. {
  22. echo get_title($mount3);
  23. }
  24. include "max.php";
  25. $file_name='http://ip:порт/status2.xsl';
  26. $r=fopen($file_name,'r');
  27. $text=fread($r,300);
  28. fclose($r);
  29. $mass=explode(",", $text);
  30. $svoy=$mass [4];
  31. $file_name='http://ip:порт/status2.xsl?mount=/*******';
  32. $r=fopen($file_name,'r');
  33. $text=fread($r,300);
  34. fclose($r);
  35. $mass=explode(",", $text);
  36. $retr=$mass [15];
  37. $cur=$svoy;
  38. if ($cur>$max)
  39. {
  40. $txtout='<?php'."\r\n";
  41. $txtout=$txtout. '$max=' .$cur. ";\r\n";
  42. $txtout=$txtout."\r\n".'?>';
  43. $fp = fopen ("max.php", "w");
  44. fwrite($fp,$txtout);
  45. fclose($fp);
  46. $max=$cur;
  47. }
  48. echo "<br>\n";
  49. echo "<hr>Наша статистика:<br>\n";
  50. echo "<hr>С первого маунта: ".$cur."<br>\n";
  51. echo "Со второго маунта: ".$retr."<br>\n";
  52. echo "Всего нас слушает: ".($svoy+$retr)."<br>\n";
  53. echo "<hr>Зафиксирован рекорд в ".$max." слушателей<br>\n";
  54. ?>

Может и поможет :)

0
888
Falcon @Falcon
У кода есть один существенный недостаток. Использование функции fopen. На многих хостингах она заблокирована, и открыть файл получится только на локальной машине. Вместо неё советую использовать функцию file(). Она получает содержимое указанного файла в виде массива.

0
410
Евгений @Drakkar
Зачем она заблокирована на хостингах? Вы откуда кстати знаете?

0
6245
Тарас @tarasian666
в целях безопасности

это почти все знают )

Falcon пишет:

Вместо неё советую использовать функцию file().

или file_get_contents но бывает что все эти функции заблокированы

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.