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

IceCast

 

6245
Тарас @tarasian666
надо писать шаблоны этих плейлистов, или (что проще) на сайте своем поместить эти плейлисты написаные в блокноте

89
Ok_go_love @Ok_go_love
Кто-нибудь может дать почитать/объяснить, как ИМЕННО icecast отдает в xsl статистику?

Отредактировано Ok_go_love - 02.12.2013
89
Ok_go_love @Ok_go_love
Falcon пишет:

Накопилось еще пару вопросов, надеюсь, проконсультируете :)
1)Можно ли поставить фолбэк сразу на все маунты? Т.е. есть один резервный маунт, который релеит поток.
Ведущий подключается с данными, но маунт выбирает любой, т.е. в конфиге отсутствуют секции маунтов. Отсюда и вопрос, можно ли, чтобы по умолчанию играл релей, а если диджей вышел в эфир, то уже его поток? Надеюсь, что понятно объяснил
2)Можно ли в айскасте отключить логи? Они по сути не нужны, сейчас стоит минимальный уровень логирования.
Пробовал ставить в logpath /dev/null, айскаст ругнулся, что это не директория.

Заранее спасибо за ответы.


По второму вопросу logrotate тебе в помощь, хотя бы минимальный набор логов быть все равно должен.

zim0vik пишет:

Доброе время суток.
Как заставить айскаст, выводить не только в *.m3u, но и в *.pls, *.asx допустим?

Ты про ссылку на странице статистики?
Ну я бы начал с того, чем не устраивает m3u? :)

Отредактировано Ok_go_love - 02.12.2013
445
Alex @VapSite
Кто-нибудь может дать почитать/объяснить, как ИМЕННО icecast отдает в xsl статистику?

..\share\icecast\admin\

Как заставить айскаст, выводить не только в *.m3u, но и в *.pls, *.asx допустим?


..\share\icecast\web\status.xsl
<td align="right">
<a href="{@mount}.m3u">M3U</a>
<a href="{@mount}.xspf">XSPF</a>
</td>

прописываем или добавляем нужное расширение.
--> ..\share\icecast\web должен лежать готовый (!) файл *.pls, *.asx
возможно есть др. решения... не разбирался.

Отредактировано VapSite - 02.12.2013
89
Ok_go_love @Ok_go_love
..\share\icecast\admin\

Спасибо, я не сказочно туп, чтобы об этом не знать.
Я говорю о том, как сам icecast работает, его внутренности.
Каким образом он передает данные в xsl.

Отредактировано Ok_go_love - 02.12.2013
445
Alex @VapSite
аа епт .. так и сказал бы сразу - хочу всё знать! -- Держи --> **********

или сюда **********

Отредактировано VapSite - 02.12.2013
8
Иван @zim0vik
Доброе время суток.
Подскажите пожалуйста, как сделать чтобы было два маунта(/nonstop и /live), и чтобы когда подключались на /live, то /nonstop уходил на задний план и автоматически переключался на /live.
Огромное спасибо.


<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size>
</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>admin</admin-user>
<admin-password>*</admin-password>
</authentication>

<!-- Uncomment this if you want directory listings -->
<!--
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url></yp-url>
</directory>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url></yp-url>
</directory>
-->

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>localhost</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>9600</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>-->

<!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>-->

<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>0</on-demand>

<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>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>

<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value=" "/>
<option name="mount_remove" value=""/>
<option name="listener_add" value=""/>
<option name="listener_remove" value=""/>
</authentication>
</mount>

-->

<fileserve>1</fileserve>

<!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
-->

<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"/>
-->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for 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>4</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>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
</icecast>


6245
888
Falcon @Falcon
Всем добрый день.
1) Подскажите, можно ли заставить icecast выполнять PHP скрипты из его web директории?
2) Как можно организовать "разгрузку" сервера, с сохранением ссылки на вещание? Т.е. чтобы при подключении слушателя к определенному маунту его переадресовывало на другой сервер, порт и маунт?
3)Как можно заставить icecast считать потраченный трафик?
Спасибо.

Отредактировано Falcon - 03.07.2014
6245
Тарас @tarasian666
1. нет
2. это многих интересует )
3. в админке у каждого маунта есть total_bytes_read и total_bytes_sent остается только записывать эти данные и генерировать график

67
nivs @nivs
Вопрос по фолбеку. Есть конфиг icecast.xml:
<mount>
<mount-name>/nine</mount-name>
<fallback-mount>/music</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>

<mount>
<mount-name>/two</mount-name>
<fallback-mount>/music</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>

<mount>
<mount-name>/one</mount-name>
<fallback-mount>/music</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>


Генерится music одним приложением, подключаются по 1 клиенту к one и two, играет музыка, как надо. Потом liquidsoap начинает генерить live-поток на любой из маунтов (one, two, nine) и оба этих клиента начинают воспроизводить live, и пофигу, что я генерю только на один. Кроме того, если я, допустим, генерю на nine (при этом почему-то клиенты one и two тоже начинают воспроизводить live), то при подключении нового клиента к one/two или переподключении one/two источник берётся нужный - music, т.е. чтобы на one/two не воспроизводился live, который подключился к nine, нужно этот one/two переподключить, а этого же вроде быть не должно. По всей видимости виноват IceCast. Это баг или что?
Debian 7, IceCast 2.4.0 src, 2.3.3 repo.

Отредактировано nivs - 18.08.2014
22
Санеккк @Санеккк
Привет!
Башку уже сломал. Подскажите, пожалуйста, как на второй схеме метаданные с первого компа передать на второй? Если использовать пример первой схемы, то на втором компе не будет диджея.
Как с того же винампа на первом компе передать названия песен на айскаст на втором компе, при этом вещая звук со входа звуковой карты второго компа?

Отредактировано Санеккк - 07.11.2014
22
Санеккк @Санеккк
Как реализовать эту схему? Помогите :|


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

Студия - конечно же, не Винамп. Но с DSP-плагином дружит.

Отредактировано Санеккк - 08.11.2014
382
Grigorij @gyurgin_1
Ну если с аналога берете сигнал то вот **********, он и метаданные подхватит какие надо.

Отредактировано gyurgin_1 - 08.11.2014
22
Санеккк @Санеккк
Спасибо! Я обошелся стандартным ПО для звуковой карты и DSP-плагином для студийной программы. Теперь музыка и микрофон миксуются не в пульте, а в студийном компе. Микрофон идёт на пульт и с пульта с эквализацией и отстроенным уровнем идёт на вход студийного компа. Миксует музыку и линейный вход - стандартное ПО звуковой карты, а DSP берёт этот микс с карты и метаданные и передает Айскасту. Также со звуковой карты звук идёт на пульт и отправляется на радиопередатчик.

44
firefedot @firefedot
Доброе...
Подскажите пожалуйста. какой солью или каким именно способом, icecast хеширует пароли для доступа по паролю?
использую
на bash'e - echo "password" | md5sum - получаю один результат
Вношу этот пароль через веб-морду аутентификации icecast - другой
Задача: прогнать список логитов и всех внести в список для прослушивания... я md5 не совпадает)
Как быть?
Спасибо.

44
firefedot @firefedot
firefedot пишет:

Доброе...
Подскажите пожалуйста. какой солью или каким именно способом, icecast хеширует пароли для доступа по паролю?
использую
на bash'e - echo "password" | md5sum - получаю один результат
Вношу этот пароль через веб-морду аутентификации icecast - другой
Задача: прогнать список логитов и всех внести в список для прослушивания... я md5 не совпадает)
Как быть?
Спасибо.


В общем решил. может кому пригодиться еще)
Надо указать. что это одна строка , если грубо говорить )
то есть добавить -n

echo -n password | md5sum

И тогда получаем такой же результат, что и icecast

243
Владислав @VladokZzz
Добрый день. Стоит IceCast (icecast2_win32_2.3.2-trunk) в принципе работает нормально, НО иногда процесс начинает жрать память ОЗУ сервера.
Порекомендовали поставить новую версию. Нашел icecast-2.3.3-kh11.1 - установил. Установился в папку IceCast HK. В сборке нет самого приложения Icecast win, появляется только процесс IceCast HK. конфиг заменил конфигом с предыдущей установленной версии. Он запускается, но порты не открываются и ничего не работает. SAM кричит Error, потоки не подрубаются.
В чем загвоздка?
P.S. Остановил службу. Запустил старую версию.

44
firefedot @firefedot
Доброе...
Поставил icecast-2.4.1 и вроде все нормально, но ... при старте или реставте получаю следующее


# service icecast restart
Останавливается потоковый демон icecast: [СБОЙ ]
Запускается потоковый демон icecast: [ OK ]
[2015-01-01 22:50:13] WARN CONFIG/_parse_root Warning, <location> not configured, using default value "Earth".
[2015-01-01 22:50:13] WARN CONFIG/_parse_root Warning, <admin> contact not configured, using default value "icemaster@localhost".


При этом админка работает. а сам айскаст не работает ....

Не могу пока найти. где менять то что он просит...

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

Кто с этим сталкивался или какие мысли?)

78
djmarkus @djmarkus
привет) нигде не нашел как в разделе logging сделать архивацию не по размеру лога а по времени - например - в 23:59 каждых суток он будет в архив падать