26

Re: icecast fallback перекидывание с одного маунта на другой

Я так понимаю, что выдирать отсюда нужно:

<?php
error_reporting(0);
header("Content-Type: text/html; charset=cp1251");
$file_name="http://91.228.152.154:8000/status.xsl?mount=/live";
$r=fopen($file_name,'r');
$text=fread($r,10000);
fclose($r);
$mas=explode('<tr>', $text);
$name = explode(':', $mas[3]);
$q = explode ('</td>',$name[1]);
$q2 = explode ('<td class="streamdata">',$q[1]);
$rj = $q2[1];

if($rj == "0" or $rj == ""){
echo " Nonstop"; 
}else
{
$fl = file_get_contents('http://91.228.152.154:8000/status.xsl?mount=/live');
function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
$stream = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");

$description = antara($fl, "<td>Stream Description:</td>\n<td class=\"streamdata\">", "</td>");

$listeners = antara($fl, "<td>Current Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$max = antara($fl, "<td>Peak Listeners:</td>\n<td class=\"streamdata\">", "</td>");

$song = antara($fl, "<td>Current Song:</td>\n<td class=\"streamdata\">", "</td>");

switch ($stream) {


case "gccvhvhgv":
echo "<img src='http://dfm.ru/upload/contents/406/logo_bomb.gif' wight=100%>";
break;




}
echo "";
}

?>

Только знать бы что туда вставить...

27

Re: icecast fallback перекидывание с одного маунта на другой

Есть маленькая проблема когда DJ подключаться  к потоку то его не слышна пока не пере подключится, а когда Dj отключается то поток у пользователя сбрасывается и приходиться  заново подключаться к радио.

Отредактировано HeroLine (21-02-2012 14:15:49)

28

Re: icecast fallback перекидывание с одного маунта на другой

битрейт и частота дискретизации и главное формат должны быть одинаковыми на обоих маунтах
а флеш плеер написан на as3 такой скачек не воспринимает

29

Re: icecast fallback перекидывание с одного маунта на другой

Я попробовал битрей такой же как и маунте всё равно обрывы.

30

Re: icecast fallback перекидывание с одного маунта на другой

а частота дискретизации ? плеер какой?

31

Re: icecast fallback перекидывание с одного маунта на другой

mp3 abr  48 RadioBoss 4.3

32

Re: icecast fallback перекидывание с одного маунта на другой

cbr

33

Re: icecast fallback перекидывание с одного маунта на другой

Хотите сказать что RadioBoss работает тока с CBR, а с переменной чистотой нет?
А ещё посмотрите конфиг как подключать DJ в эфир от своего имени и пароля

<icecast>

<limits>
<clients>10000</clients>
<sources>4</sources> Тут менять от количества подключенных Dj, каждый подключенный DJ +2.
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>

<authentication>
<source-password>пароль</source-password>
<relay-password>пароль</relay-password>
<admin-user>admin</admin-user>
<admin-password>пароль</admin-password>
</authentication>
<hostname>localhost</hostname>

<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>



<mount>
        <mount-name>/live</mount-name>
        <password>Пароль от админка icecast</password>
        <fallback-mount>/nonstop</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>

   <mount>
        <mount-name>/nonstop</mount-name>
        <password>Пароль от админка icecast</password>
   </mount>


    <mount>
        <mount-name>/ник Dj</mount-name>
        <password>пароль DJ</password>
        <fallback-mount>/nonstop</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>

   <mount>
        <mount-name>/nonstop</mount-name>
        <password>Пароль от админка icecast</password>
   </mount>

<!-- Что бы подключить ещё одного Dj скопируйте <mount>
        <mount-name>/ник Dj</mount-name>
        <password>пароль DJ</password>
        <fallback-mount>/nonstop</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>

   <mount>
        <mount-name>/nonstop</mount-name>
        <password>Пароль от админка icecast</password>
   </mount> и  замените ники и пароли.> -->
    <paths>
        <!-- basedir is only used if chroot is enabled -->
        <basedir>/usr/share/icecast2</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>/home/radio</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>
        <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->
        <!--
        <alias source="/foo" dest="/bar"/>
          -->
        <!-- Aliases: can also be used for simple redirections as well,
             this example will redirect all requests for http://server:port/ to
             the status page
          -->
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <playlistlog>playlist.log</playlistlog> -->
          <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
          <logsize>10000</logsize> <!-- Max size of a logfile -->
        <!-- If logarchive is enabled (1), then when logsize is reached
             the logfile will be moved to [error|access|playlist].log.DATESTAMP,
             otherwise it will be moved to [error|access|playlist].log.old.
             Default is non-archive mode (i.e. overwrite)
        -->
        <!-- <logarchive>1</logarchive> -->
    </logging>

    <security>
        <chroot>0</chroot>
       
        <changeowner>
            <user>icecast2</user>
            <group>icecast2</group>
        </changeowner>
        
    </security>
</icecast>

что бы перезагрузить icecast не прирывание вешания в дебиане командой в ssh killall -HUP icecast2 и через некоторое время DJ может подкл.
Подключение DJ через программу Sam зайти в настройку потока в пароль вводим пароль DJ, а в моунт вводим ник DJ.
Слушателю даем слушать моунт /live.
Dj Подключается без обрыва и со своими данными.
Сильно строго не судить если у видите ошибки поправьте, может это кому нибудь пригодится.

Нашёл косяк, если слушатель подключен к потоку /live, то при подключение DJ слушатель услышит Dj, а если слушатель подключается заново во время вешания DJ, то он слышит нон-стоп. Может кто может поправить конфиг.

34

Re: icecast fallback перекидывание с одного маунта на другой

Добрый день,куда вставлять данный код <mount></mount>?

35

Re: icecast fallback перекидывание с одного маунта на другой

подсказка - название темы

36

Re: icecast fallback перекидывание с одного маунта на другой

хм... спасибо,догнал big_smile

Re: icecast fallback перекидывание с одного маунта на другой

Вопрос - для обоих маунтов (лайв и нонстоп) пароль одинаковый ставится?
И в айсис идет только маунт нонстоп с паролем?

Прост в таком случае если у меня играет нонстоп, то он и монтируется физически на нонстопе, и покаду его не прервать, подконнектиться не возможно. И физически маунты с файлами на прослушку тоже разные для лайва и нонстопа.

Отредактировано Artemiy.Sotnikov (21-04-2012 15:05:13)

38

Re: icecast fallback перекидывание с одного маунта на другой

1.  на вкус и цвет
2.  в ices ничего необычного, просто вещает себе на маунт nonstop
3. конектиться надо к live и диджею и слушателю, где что физически находится тут побоку, количество sources должно соответсвовать кол-ву маунтов

Re: icecast fallback перекидывание с одного маунта на другой

Насчет подлючения, через сэм идет к лайв маунту, а насчет подключений юзеров, немного не понял, они допустим получают поток /live.m3u, но он активен только тогда, когда активен диджей.

Отредактировано Artemiy.Sotnikov (21-04-2012 15:30:34)

40

Re: icecast fallback перекидывание с одного маунта на другой

в том то и вся суть fallback - попадая на пустой live их перекинет на nonstop

Re: icecast fallback перекидывание с одного маунта на другой

Извиняюсь, не так описал проблему)
Он выводит все в один поток /live.m3u - это да, есть. Но как только подключается ведущий, то чтобы поток обновился на ведущего, необходимо качать файл заного, то же самое с нонстопом.

Если необходимо, могу скинуть описание маунток в конфиге.

42

Re: icecast fallback перекидывание с одного маунта на другой

битрейт и частота дискретизации и главное формат должны быть одинаковыми на обоих маунтах
а флеш плеер написан на as3 такой скачек не воспринимает

43

Re: icecast fallback перекидывание с одного маунта на другой

Не как не пойму в чем дело. Когда нет диджея работает nonstop, но когда появляется диджей автоматически не возвращает на /live
вот конфиги icecast и ices

    <mount>
    <mount-name>/live</mount-name>
    <charset>cp1251</charset>
    <fallback-mount>/nonstop</fallback-mount>
    <fallback-override>1</fallback-override>
    </mount>
    
    <mount>
    <mount-name>/nonstop</mount-name>
    <charset>cp1251</charset>
    </mount>  

ices

    <Bitrate>128</Bitrate>
    <Reencode>1</Reencode>
    <Samplerate>44100</Samplerate>
    <Channels>2</Channels>

Соответственно через SAM вещаю в /live AAC+ 128kb/s 44.1kHz, Stereo

Что я делаю не так? (

44

Re: icecast fallback перекидывание с одного маунта на другой

пишет Squall:

Не как не пойму в чем дело. Когда нет диджея работает nonstop, но когда появляется диджей автоматически не возвращает на /live
вот конфиги icecast и ices

    <mount>
    <mount-name>/live</mount-name>
    <charset>cp1251</charset>
    <fallback-mount>/nonstop</fallback-mount>
    <fallback-override>1</fallback-override>
    </mount>
    
    <mount>
    <mount-name>/nonstop</mount-name>
    <charset>cp1251</charset>
    </mount>  

ices

    <Bitrate>128</Bitrate>
    <Reencode>1</Reencode>
    <Samplerate>44100</Samplerate>
    <Channels>2</Channels>

Соответственно через SAM вещаю в /live AAC+ 128kb/s 44.1kHz, Stereo

Что я делаю не так? (

Какой маунт даешь слушателю?

В здоровом теле - здоровый дух!

45

Re: icecast fallback перекидывание с одного маунта на другой

KyPIIaToB /live конечно. Кстати при полном совпадении форматов перекидывает. Я просто думал, можно ices mp3 а DJ aac+ если битрейт одинаковый, видимо не прав был

46

Re: icecast fallback перекидывание с одного маунта на другой

В общем почитал поиск, что то попробовал, ничего не получилось... Может все доступно объяснить кто чайнику как настроить fallback, работаю с RadioBOSS + ice
Лучше распишите какой ice лучше использовать, его настройку желательно полную...
И какой софт для радио вещания, если радиобосс не катит

И надо сделать что бы люди подключались к /128 а Ведущие к /live

попробовал ice 2

 <icecast>
    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <threadpool>5</threadpool>
        <queue-size>102400</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>******</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>*****</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>unhead</admin-user>
        <admin-password>&&&&&</admin-password>
    </authentication>

    <!-- Uncomment this if you want directory listings -->
    <!--
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
    </directory>
     -->

    <hostname>95.31.4.11</hostname>

    <!-- You can use these two if you only want a single listener -->
    <!--<port>8000</port> -->
    <!--<bind-address>127.0.0.1</bind-address>-->

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>8002</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    -->

    <!--<master-server>127.0.0.1</master-server>-->
    <!--<master-server-port>8001</master-server-port>-->
    <!--<master-update-interval>120</master-update-interval>-->
    <!--<master-password>hackme</master-password>-->
    <!--
    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>

        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
    -->

    <!-- Only define a <mount> section if you want to use advanced options,
         like alternative usernames or passwords
    <mount>
        <mount-name>/live</mount-name>
        <password>*****</password>
        <charset>UTF8</charset>
        <stream-url>http://95.31.4.11:8002/live</stream-url> 
        <public>1</public>
        <fallback-mount>/128</fallback-mount>
        <fallback-override>1</fallback-override> 
    </mount>
    <mount>
        <mount-name>/128</mount-name>
        <password>*****</password>
        <charset>UTF8</charset>
        <stream-url>http://95.31.4.11:8002/128</stream-url> 
        <public>1</public>
        <fallback-mount>/live</fallback-mount>
        <fallback-override>1</fallback-override>
    </mount>
    -->

    <fileserve>1</fileserve>

    <paths>
<!-- basedir is only used if chroot is enabled -->
        <basedir>./</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>./logs</logdir>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>
        <!-- <pidfile>./icecast.pid</pidfile> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->
        <!--
        <alias source="/foo" dest="/bar"/>
          -->
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
      <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
    </logging>

    <security>
        <chroot>0</chroot>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>

Создается 2 разных потока, и играют один отдельно от второго.

Отредактировано unhead (13-06-2012 11:52:12)

47

Re: icecast fallback перекидывание с одного маунта на другой

пишет tarasian666:

слушателям и диджеям подключаться только к live

а так

пишет unhead:

И надо сделать что бы люди подключались к /128 а Ведущие к /live

нельзя

сделайте все как описано в самом верху и тогда должно работать

48

Re: icecast fallback перекидывание с одного маунта на другой

ну так, а если live переименовать в 128?

49

Re: icecast fallback перекидывание с одного маунта на другой

имя маунта не имеет  значения, только направленость фолбека

50

Re: icecast fallback перекидывание с одного маунта на другой

<mount>
        <mount-name>/128</mount-name>
        <password>password</password>
        <fallback-mount>/nonstop</fallback-mount>
        <fallback-override>1</fallback-override>
   </mount>

   <mount>
        <mount-name>/nonstop</mount-name>
        <password>password</password>
   </mount>

Типо так?

Отредактировано unhead (13-06-2012 23:16:22)