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

RadioBoss+icecast2+ DJ

 

8
Денис @XNTPbIY
Ребят помогите правильно реализовать связку RadioBoss+icecast2+ DJ.

Проблема в том у меня на сервере запущен радио бос который вещает /non-stop , я добился что бы когда удаленно я подключаюсь к серверу то поток /non-stop отключатся и начинает вещать уже удаленный клиент с потоком /hit-radio.
Вот сам конфиг:

  1. <hostname>тут ссылка </hostname>
  2. <port>8000</port>
  3. <mount>
  4. <mount-name>/hit-radio</mount-name>
  5. <password>пароль</password>
  6. <charset>UTF8</charset>
  7. <stream-url>тут ссылка на поток:8000/hit-radio</stream-url>
  8. <public>1</public>
  9. <fallback-mount>/nostop</fallback-mount>
  10. <fallback-override>1</fallback-override>
  11. </mount>
  12. <mount>
  13. <mount-name>/nostop</mount-name>
  14. <password>пароль</password>
  15. <charset>UTF8</charset>
  16. <stream-url>тут ссылка на поток :8000/nostop</stream-url>
  17. <public>1</public>
  18. <fallback-mount>/hit-radio</fallback-mount>
  19. <fallback-override>1</fallback-override>
  20. </mount>


Проблема в том что в плеере который на сайте вещает радио прописан поток который (тут ссылка на поток :8000/hit-radio )он -работает ,когда я отключаюсь то включается /nonstop, но в плеере он не играет так как он не прописан в конфиге и нет такой возможности что бы его там прописать. Как сделать что бы поток /nonstop вещался по одному адресу (тут ссылка на поток :8000/hit-radio) ?

Отредактировано XNTPbIY - 17.01.2013
0
6245
Тарас @tarasian666
**********
читать внимательно сначала

0
8
Денис @XNTPbIY
Я там все ветку перечитал пробовал там разные конфиги. Получается у меня что nonstop идет отдельным потоком.
Вот мой полный конфиг.
  1. <icecast>
  2. <limits>
  3. <sources>2</sources>
  4. </limits>
  5. <authentication>
  6. <source-password>hit-project.net</source-password>
  7. <admin-user>admin</admin-user>
  8. <admin-password>hit-project.net</admin-password>
  9. </authentication>
  10. <hostname>hit-project.net</hostname>
  11. <listen-socket>
  12. <port>8000</port>
  13. <mount>
  14. <mount-name>/hit-radio</mount-name>
  15. <password>hit-project.net</password>
  16. <fallback-mount>/nonstop</fallback-mount>
  17. <fallback-override>1</fallback-override>
  18. </mount>
  19. <mount>
  20. <mount-name>/nonstop</mount-name>
  21. <password>hit-project.net</password>
  22. </mount>
  23. </listen-socket>
  24. <fileserve>1</fileserve>
  25. <paths>
  26. <logdir>./logs</logdir>
  27. <webroot>./web</webroot>
  28. <adminroot>./admin</adminroot>
  29. <alias source="/" dest="/index.html"/>
  30. </paths>
  31. <logging>
  32. <accesslog>access.log</accesslog>
  33. <errorlog>error.log</errorlog>
  34. <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
  35. </logging>
  36. <security>
  37. <chroot>0</chroot>
  38. </security>
  39. </icecast>


Слушают через основной поток через /hit-radio
когда на сервере играет /nonstop то слушатель не слышит его , стоит подключиться удаленно к серверу к потоку /hit-radio то сразу слушатель слышит этот поток.

Отредактировано XNTPbIY - 18.01.2013
0
6245
Тарас @tarasian666
Аяяй.. в конфиге ошибка. Внимательней надо быть

0
8
Денис @XNTPbIY
tarasian666 пишет:

Аяяй.. в конфиге ошибка. Внимательней надо быть

<sources>2</sources> Это на <sources>4</sources> ? Скажите где ошибка ?

0
8
Денис @XNTPbIY
Я понял в чем проблема у меня
  1. <listen-socket>
  2. <port>8000</port>
  3. а тут маунты прописаны
  4. <listen-socket>
  5. а надо:
  6. <listen-socket>
  7. <port>8000</port>
  8. <listen-socket>
  9. потом маунты


тогда все работает но тогда другой касяк вылез . так информация не выводиться с /nonstop

0
6245
Тарас @tarasian666
а куда она должна выводиться и чем ?

0
8
Денис @XNTPbIY
tarasian666 пишет:

а куда она должна выводиться и чем ?

Что бы не быть много словным ********** это не реклама.
А если подключается Dj то статистика и название песен нормально отображает.

Ведущий: тут не пишит (nonstop) пишет тока в том случаи если </listen-socket> закрываю после mount.
Слушателей: тут не пишит (кол-во слуш.) пишет тока в том случаи если </listen-socket> закрываю после mount.
Сейчас играет: тут не пишит (название трека) пишет тока в том случаи если </listen-socket> закрываю после mount.


Вот мой рабочий status.php на аяксе .Я думаю пригодиться людям

  1. <?
  2. header("Content-type: text/html; charset=utf-8");
  3. if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
  4. $ip = "hit-project.net"; //your server address in the form of mydomain.com or 192.161.1.1
  5. $port = "8000"; //the port of your server
  6. $ice2_station = "hit-radio"; // your station or stream name
  7. ////////////////start the parsin action\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  8. //opening socket
  9. $fp = fsockopen($ip, $port, $errno, $errstr, 1); //open connection
  10. if(!$fp) {
  11. $success=2; //set if no connection
  12. //edit html to fit your stations site, this display is for offline status
  13. echo'<table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  14. <tr>
  15. <td width="100%" colspan="2">
  16. <img border="0" src="/radio/images/ice2_status/Attention.png" width="20" height="20">
  17. <b><font face="Arial" size="1" >Радио отключено!</font></b></td>
  18. </tr>
  19. </table>';
  20. }
  21. if($success!=2){ //if connection
  22. fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
  23. while(!feof($fp)) {
  24. $page .= fgets($fp, 1000);
  25. }
  26. fclose($fp); //close connection
  27. $page = ereg_replace(".*<pre>", "", $page); //extract data
  28. $page = ereg_replace("</pre>.*", ",", $page); //extract data
  29. $numbers = explode(",",$page); //bomb it and extract data
  30. $mount = $numbers[0];
  31. $connections = $numbers[1];
  32. $stream_n = $numbers[2];
  33. $listeners = $numbers[3];
  34. $desc = $numbers[4];
  35. $cur_song = $numbers[5];
  36. $str_url = $numbers[6];
  37. $client_info = $numbers[7];
  38. $test1 = $numbers[8]; //set vars that where empty and still dont know what the heck those values are ;-)
  39. $test2 = $numbers[9]; //set vars that where empty and still dont know what the heck those values are ;-)
  40. $test3 = $numbers[10]; //set vars that where empty and still dont know what the heck those values are ;-)
  41. $mount = $numbers[12];
  42. $connections = $numbers[13];
  43. $station =$numbers[14];
  44. $listeners = $numbers[15];
  45. $description = $numbers[16];
  46. $cur_song = $numbers[17];
  47. $www_url = $numbers[18];
  48. //edit html to fit your stations site, this display is for online status
  49. echo'
  50. <table width="130%" style="border-collapse: collapse" cellpadding="0" cellspacing="0">
  51. <tr>
  52. <td width="100%"><b><font face="Arial" size="1">
  53. <!--img border="0" src="/radio/images/ice2_status/dj-beanie.png" width="20" height="20"-->
  54. <font color="#FFF">Ведущий:</font><font color="#008cf0">&nbsp;'.$station.'</font></font></b></td>
  55. </tr>
  56. <tr>
  57. <td width="100%"><b><font face="Arial" size="1">
  58. <!--img border="0" src="/radio/images/ice2_status/User.png" width="20" height="20"-->
  59. <font color="#FFF">Слушателей:</font><font color="#008cf0">&nbsp;&nbsp;'.$listeners.'</font></font></b></td>
  60. </tr>
  61. <tr>
  62. <td width="100%"><b><font face="Arial" size="1">
  63. <!--img border="0" src="/radio/images/ice2_status/iTunes.png" width="20" height="20"-->
  64. <font color="#FFF">Сейчас играет:</font><br><font color="#008cf0"><left>'.$cur_song.'</left></font></font></b></td>
  65. <td width="100%">
  66. '.$playList.'
  67. </td>
  68. </tr>
  69. </table>';
  70. }
  71. }
  72. ?>


что бы вывести на страничке прописываем следующий код
  1.  
  2. <script>
  3. function radio_online() {
  4. jQuery.post("./status.php" , {} , function(response) {
  5. jQuery("#radio_online").html(response);
  6. }, "html");
  7. setTimeout("radio_online();", 3000);
  8. }
  9. radio_online();
  10. </script>
  11. <div id="radio_online">Загрузка...</div>

Отредактировано XNTPbIY - 19.01.2013
0
6245
Тарас @tarasian666
ну так усовершенствуйте скрипт что берет информацию с icecast, если нет информации от треке на основном маунте то пусть берет с нонстопа. По другому никак

0
8
Денис @XNTPbIY
tarasian666 пишет:

ну так усовершенствуйте скрипт что берет информацию с icecast, если нет информации от треке на основном маунте то пусть берет с нонстопа. По другому никак


Выше я показал как реализовано у меня. С основного потока он берет все нормально. а вот с non-stopa нет.

Хотя non-stop как бы играет через основной поток.

Отредактировано XNTPbIY - 19.01.2013
0
6245
Тарас @tarasian666
где и как играет значения не имеет, информация с потока на поток не перекидывается на status2.xsl (и status.xsl и тд)
и сделать надо то что уже сказал

0
8
Денис @XNTPbIY
tarasian666 пишет:

где и как играет значения не имеет, информация с потока на поток не перекидывается на status2.xsl (и status.xsl и тд)
и сделать надо то что уже сказал

Это понятно. Но как реализовать условием не знаю . Думал может вы скажете как. Ладно будем дальше гуглить.

0
6245
Тарас @tarasian666
просто это уже заезженная тема

0