Делаем свое интернет радио.
30.06.2012Делаем свое интернет радио.
В этой статье я расскажу как сделать свое интернет радио с нонтопом,красивой статистикой, переброской слушателей с пустого канала и правильной кодировкой.
Все манипуляции я буду проделывать на Debian 6.0, но данный how-to подойдет для любого debian-based дистрибутива (ubuntu,linux mint etc).
Что будем ставить:
- Icecast2
- Ices0.4(для вещания mp3, для OGG нужно ставить Ices2)
- MRTG (для построения графиков)
- Библиотеки(libshout-2.2.2,libmp3lame-3.97, LibXML2)
Установка библиотек.
Ubuntu.
В Ubuntu server 9.04 и выше все библиотеки есть в репозиториях, поэтому ставим:
1 2 3 | apt-get install libshout-dev apt-get install libmp3lame-dev apt-get install libxml2-dev |
Debian.
В Debian 6.0 так же есть в репозитории, только его нужно добавить:
1 | nano /etc/sources .list |
И вниз списка добавляем:
1 | deb http: //www .deb-multimedia.org squeeze main non- free |
Сохраняем результат(control + X y) и устанавливаем ключ репозитория:
1 2 3 | cd /tmp wget http: //www .deb-multimedia.org /pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2010 .12.26_all.deb dpkg -i debian-multimedia-keyring_2008.10.16_all.deb |
После чего обновляем список пакетов:
1 2 | apt-get update apt-get upgrade |
И устанавливаем наши библиотеки:
1 | apt-get install libshout-dev libmp3lame-dev libxml2-dev |
IceCast 2.
Установка icecast2.
К счатью, Icecast server есть в репозиториях, поэтому ставим его командой:
1 | apt-get install icecast2 |
При этом, во время установки, Icecast создаст пользователя и группу Icecast.
Настройка Icecast.
Открываем для редактирования конфиг Icecast2:
1 | nano /etc/icecast2/icecast .xml |
И видим наш конфиг(ниже приведу его полностью с пометками):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | < icecast > < limits > < clients >1500</ clients > < sources >22</ sources > < 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'(диджей) --> < source-password >passowrd</ source-password > <!-- Пороль пользователя 'relay' --> < relay-password >password</ relay-password > <!-- Имя и пароль Админа --> < admin-user >admin</ admin-user > < admin-password >password</ admin-password > </ authentication > <!-- Хост,порт нашего сервера --> < hostname >pipradio.net</ hostname > < listen-socket > < port >9500</ port > </ listen-socket > <!-- Настройка точки монтирования,кодировка,пароли,джингл и тд --> < mount > < mount-name >/nonstop</ mount-name > < charset >utf-8</ charset > < intro >/intro1.mp3</ intro > </ mount > < mount-name >/live</ mount-name > < password >password</ password > < charset >utf-8</ charset > < fallback-mount >/nonstop</ fallback-mount > < fallback-override >1</ fallback-override > </ mount > <!-- Настройки релая:сервер,моунт сервера,локальный моунт --> < relay > < server >pipradio.net</ server > < port >9500</ port > < mount >/live</ mount > < local-mount >/nonstop</ local-mount > < on-demand >0</ on-demand > < relay-shoutcast-metadata >0</ relay-shoutcast-metadata > </ relay > < fileserve >1</ fileserve > < 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 >/var/log/icecast2</ 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</a>: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>nobody</user> <group>nogroup</group> </changeowner> --> </ security > </ icecast > |
Из всего конфига, нам интересны только несколько секций, это лимиты, пароли и тонкая настройка маунтов(точек монтирования). С первыми двумя секциями, обычно, вопросов не возникает, а вот с настройках маунтов мы сейчас поговорим подробнее.
Настройка fallback mount.(резервная точка монтирования)
Для начала объясню что такое fallback точка монтирования на простом примере. Предположим у вас есть две точки монтирования: /live и /nonstop , на /live у вас соответственно время от времени ведут диджеи, а на /nonstop постоянно играет музыка. Без fallback все слушатели которые были на точке /live , при отключении диджея сбрасываютcz, и если захотят послушать /nonstop им нужно переподключиться самим. С помощью fallback мы сделаем это автоматически, добавляем в конфиг следующие строки:
1 2 3 4 5 6 7 8 9 | < mount > < mount-name >/live</ mount-name > < fallback-mount >/nonstop</ fallback-mount > < fallback-override >1</ fallback-override > </ mount > |
Где /live это исходная точка (та с которой перекидываем) , а /nonstop точка назначения. На этом вся настройка fallback-mount закончена. Теперь пришло время для кодировки.
Настройка кодировки IceCast.
Очень часто бывает, что воспроизводимая песня отображается не правильно, или не отображается совсем, как на картинке ниже:
Что бы исправить это досадную оплошность, можно принудительно выставить кодировку для точки монтирования, например для /live это будет выглядить так :
1 2 3 4 5 6 7 8 9 10 11 | < mount > < mount-name >/live</ mount-name > < fallback-mount >/nonstop</ fallback-mount > < charset >utf-8</ charset > < fallback-override >1</ fallback-override > </ mount > |
Где utf-8кодировка тегов нашей музыки.(обычно или cp1251 или unf-8)
Так же в разделе mount можно установить другой пароль на определенную точку,название канала,музыки,радио :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | < mount > < mount-name >/live</ mount-name > < password >password</ password > < stream-name >PiPRadio Live</ stream-name > < genre >Live</ genre > < stream-description >Live channel</ stream-description > < fallback-mount >/nonstop</ fallback-mount > < charset >utf-8</ charset > < fallback-override >1</ fallback-override > </ mount > |
Ices0.4.
Ices0.4 будет выполнять у нас функцию нонстопа эфира. К сожалению, ices нет в репозиториях, поэтому нам придется его собрать.
Установка Ice0.4.
Для сборки ices выполняем команды:
1 2 3 4 5 6 7 | cd /tmp wget http: //downloads .us.xiph.org /releases/ices/ices-0 .4. tar .gz tar -zxvf ices-0.4. tar .gz cd ices-0.4 . /configure make make install |
После того как мы собрали наш ices, будем его настраивать.
Настройка Ices0.4
Опять же переходим к конфигу ices, пример которого должен быть в /usr/local/etc/ices.conf.dist , копируем его :
1 | cp /usr/local/etc/ices .conf.dist /usr/local/etc/ices .conf |
И открываем для редактирования:
1 | nano /usr/local/etc/ices .conf |
Опять же приведу конфиг целиком с пометками с важных местах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | <? xml version=»1.0″?> < ices:Configuration xmlns:ices=»<a href = "http://www.icecast.org/projects/ices" >http://www.icecast.org/projects/ices</ a >»> < Playlist > <!— Путь до плей листа(текстовый документ) —> < File >/mnt/pipradio.net/playlist.txt</ File > <!— Настройка перемешивания треков, 1 — перемешивать 0 — играть по порядк —> < Randomize >1</ Randomize > <!—Тип листа: builtin, perl, or python. —> < Type >builtin</ Type > <!— Module name to pass to the playlist handler if using perl or python. If you use the builtin playlist handler then this is ignored —> < Module >ices</ Module > <!— Set this to the number of seconds to crossfade between tracks. Leave out or set to zero to disable crossfading (the default). < Crossfade >5</ Crossfade > —> </ Playlist > < Execution > <!— Set this to 1 if you want ices to launch in the background as a daemon —> < Background >0</ Background > <!— Set this to 1 if you want to see more verbose output from ices —> < Verbose >0</ Verbose > <!— This directory specifies where ices should put the logfile, cue file and pid file (if daemonizing). Don’t use /tmp if you have l33t h4x0rz on your server. —> < BaseDirectory >/tmp</ BaseDirectory > </ Execution > <!—Настройка подключения в серверу —> < Stream > < Server > <!— Hostname or ip of the icecast server you want to connect to —> < Hostname >pipradio.net</ Hostname > <!— Port of the same —> < Port >9500</ Port > <!— Encoder password on the icecast server —> < Password >Ваш пароль</ Password > <!— Header protocol to use when communicating with the server. Shoutcast servers need «icy», icecast 1.x needs «xaudiocast», and icecast 2.x needs «http». —> < Protocol >http</ Protocol > </ Server > <!— Настройки точки монтирования(канала) —> < Mountpoint >/live</ Mountpoint > <!— The name of the dumpfile on the server for your stream. DO NOT set this unless you know what you’re doing. < Dumpfile >ices.dump</ Dumpfile > —> <!— The name of you stream, not the name of the song! —> < Name >Live</ Name > <!— Genre of your stream, be it rock or pop or whatever —> < Genre >Default genre</ Genre > <!— Longer description of your stream —> < Description >Default description</ Description > <!— URL to a page describing your stream —> <!— 0 if you don’t want the icecast server to publish your stream on the yp server, 1 if you do —> < Public >1</ Public > <!— Настройка битрейта потока —> < Bitrate >128</ Bitrate > <!— If this is set to 1, and ices is compiled with liblame support, ices will reencode the stream on the fly to the stream bitrate. —> < Reencode >0</ Reencode > <!— Number of channels to reencode to, 1 for mono or 2 for stereo —> <!— Sampe rate to reencode to in Hz. Leave out for LAME’s best choice < Samplerate >44100</ Samplerate > —> < Channels >2</ Channels > </ Stream > </ ices:Configuration > |
На этом настройка ices почти закончилось, перейдем к плэй листам.
Создание плей листов Ices0.4
Для создания плэй листа можно использовать два метода, сложный ручной и автоматический. Мы выбираем естественно автоматический. Но для начала не много поясню что и где.
Предположим что музыка у вас лежит в папке /mnt/music/nonstop, переходим в папку и создаем наш плэйлист:
1 2 | cd /mnt/music/nonstop ls > playlist.txt |
После выполнения команды, у нас появится файл playlist.txt, в котором будет список всего содержимого папки /mnt/music/nonstop.
Запуск.
Icecast2.
Для запуска Icecast2, сначала надо разрешить ему запуск , для этого открываем:
1 | nano /etc/default/icecast2 |
И правим параметр # Change this to true when done to enable the init.d script
ENABLE=true , должно получиться вот так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # Defaults for icecast2 initscript # sourced by /etc/init.d/icecast2 # installed at /etc/default/icecast2 by the maintainer scripts # # This is a POSIX shell fragment # # Full path to the server configuration file CONFIGFILE=» /etc/icecast2/icecast .xml» # Name or ID of the user and group the daemon should run under USERID=icecast2 GROUPID=icecast # Edit /etc/icecast2/icecast.xml and change at least the passwords. # Change this to true when done to enable the init.d script ENABLE= true |
И запускаем icecast командой:
1 | service icecast2 start |
Для проверки запущен-ли сервер можно перейти по адресу, который Вы указали при настройке вашего сервера, например http://pipradio.net:9500 , где должен открыться веб интерфейс icecast.
Ices0.4
Если ices будет у Вас вещать только один канал, то его можно запустить командой:
1 | ices |
Но если у Вас несколько каналов, и соответственно несколько конфигов, то запускается ices командой:
1 | ices -c /usr/local/etc/ices .conf |
Где /usr/local/etc/ices.conf пусть до вашего конфига.
На этом настройка завершена. Переходим к статистике.
Статистика.
Практически с самого первого запуска сервера радио, я ломал голову, как сделать учет и подсчет статистики слушателей. На помощь пришел MRTG, программа, первоначально созданная для подсчета трафика и чтения логов.
Установка MRTG.
Установить MRTG в debian и ubuntu можно командой :
1 | apt-get install mrtg |
На этом собственна и вся установка, так что переходим к настройке.
Настрока MRTG
После установки файл конфигурации MRTG должен находит в /etc/mrtg.cfg, отредактируем его:
1 | nano /etc/mrtg .cfg |
ВАЖНО!
Если собираетесь использовать MRTG только для снятия статистики IceCast2, то можете смело удалять все содиржимое конфига, и вставить следующие строки:
1 2 3 4 5 6 7 8 9 10 | Interval: 5 RunAsDaemon: yes Refresh: 300 Language: russian WorkDir: /var/www/pipradio .net /web/statistica WriteExpires: Yes WithPeak[_]: dwmy XSize[_]: 600 YSize[_]: 200 Title[^]: Graphs: |
Тут не много объясню, что к чему.
1 | Interval: 5 |
Время обновления графиков в минутах.
1 | RunAsDaemon: yes |
Стартовать MRTG как демон.
1 | WorkDir: /var/www/pipradio .net /web/statistica |
Папка куда будут складываться файлы.(можно создать например поддомен ice.pipradio.com)
1 2 | XSize[_]: 600 YSize[_]: 200 |
Размер графиков.
Теперь создаем скрипт, который будет собирать статистику радио со всех потоков:
1 | nano /etc/allstat .php |
И втсавляем следующие:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/usr/bin/php < ?php $r = fopen ( $file_name , 'r' ); $text = fread ( $r ,1000); fclose( $r ); $mass = explode ( "," , $text ); $list = $mass [9]; $mas = explode ( " " , $mass [7]); $ti = substr ( $mas [0],7); $day = floor ( $ti /86500); $he = floor (( $ti - $day *86500)/3600); $mi = floor (( $ti - $day *86500- $he *3600)/60); $upt = "" . $day . " days, " . $he . " hours, " . $mi . " minutes." ; $s =0; echo $list . "n" ; echo $s . "n" ; echo $upt . "n" ; echo "/all" ; ?> |
Если же вы хотите снимать статистику с какого-то одного потока, то скрипт будет выглядить так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/usr/bin/php < ?php $file_name ='http: //pipradio.net:9500/status2.xsl?mount=/nonstop; $r = fopen ( $file_name , 'r' ); $text = fread ( $r ,1000); fclose( $r ); $mass = explode ( "," , $text ); $list = $mass [14]; $mas = explode ( " " , $mass [7]); $ti = substr ( $mas [0],7); $day = floor ( $ti /86500); $he = floor (( $ti - $day *86500)/3600); $mi = floor (( $ti - $day *86500- $he *3600)/60); $upt = "" . $day . " days, " . $he . " hours, " . $mi . " minutes." ; $s =0; echo $list . "n" ; echo $s . "n" ; echo $upt . "n" ; echo "/all" ; ?> |
Где ?mount=/nonstop’; название потока(точки монтирования icecast)
Теперь даем права на выполнение скрипта:
1 | chmod 755 /etc/allstat .php |
И добавляем наш скрипт в конфиг MRTG:
1 | nano /etc/mrtg .cfg |
Вниз вставляем:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Target[all]: ` /etc/allstat .php` Options[all]: nopercent, integer, gauge MaxBytes[all]: 1000 AbsMax[all]: 1000 Title[all]: Listens PageTop[all]:All Listens YLegend[all]: # of connections ShortLegend[all]: L /s Legend1[all]: # of listeners Legend2[all]: Legend3[all]: Maximal # of listeners Legend4[all]: LegendI[all]: # of listeners: LegendO[all] |
ВАЖНО!
Если хотите видеть статистику по потокам, обратите внимание на [all] это индификатор графика, он должен быть разным для каждого потока
Попробуем запустить MRTG
1 | env LANG=C /usr/bin/mrtg /etc/mrtg .cfg |
Если ошибок вида Target[all][_IN_] ‘ $target->[1]{$mode}
нет ,значит все хорошо, если есть, проверьте ваш сервер, и в случаи снятия статистики с отдельного потока, проверьте есть ли он.
Теперь нам нужно создать файл index.html, для этого используем команду:
1 | indexmaker mrtg.cfg > /var/www/pipradio .net /web/statistica/index .html |
После чего заходим смотреть нашу статистику по адресу pipradio.net/statistica
На этом настройка завершена, графики должны заработать.
В примере указан сайт pipradio.net , у вас должен быть другой путь и другая рабочая папка.
Если возникли вопросы пишите в комментариях.
Нужна ли статья по настройке полностью автономной станциии, управляемой через jabber?
Когда стартую сервис, то выдаёт:
root@hs1:/tmp/ices-0.4# /etc/init.d/icecast2 start
Starting icecast2: Starting icecast2
Detaching from the console
icecast2.
root@hs1:/tmp/ices-0.4#
Понять только не могу, что ему надо (debian 6) Конфиги пока не правил
ничего ему не надо, он запустился
Может он и запустился, но в адресе мой_ip:8000 ничего не открывает
Конфиг стандартный был или взяли из статьи?
Стандартный, поменял только вместо localhost свой ip и всё. рестарт и ничего.
верните localhost, в терминале вбейте команду netstat -tunap | grep icecast2 должно быть что-то вроде:
tcp 0 0 0.0.0.0:9500 0.0.0.0:* LISTEN 3193/icecast2
tcp 4096 0 127.0.0.1:9500 127.0.0.1:33287 ESTABLISHED 3193/icecast2
Сделал:
root@hs1:~# netstat -tunap | grep icecast2
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 6465/icecast2
ну вот он запущен и работает на порте 8000 , предполагаю что тут два варианта: 1 у вас в фаерволе закрыт порт 8000 2 ip адрес сервера не верен
адрес точно верный + есть ещё домен привязанный к нему, собственно пробовал и так и так. А вот насчёт порта трудно сказать, а как проверить не знаю.
А большое значение имеет, если я от рута всё делая и сервис запускаю?
тут без разници , проверить порт можно так nmap -sT -O localhost , выведет список портов :
8085/tcp open unknown
9500/tcp open ismserver
всё разобралс, всё запутилось. Сам виноват забыл. Короче используется ISPconfig3 в нём есть файрвол, вообщем там нужно вписать порт на который будет вешаться icecast2. В любом случае спасибо за наводку
да незачто=) удачи
Здравствуйте.
Я не понял, как именно на определенной страничке добавить изменения, чтобы на ней появился звук с моей «радиостанции»? «Радиостанцию» еще не ставил. Планируется только один музыкальный канал без микрофона, где будет крутиться только один плей-лист.
обычно плеер ставят, например uppod
А кто знает, какой плеер можно воспроизвести на айпадах и йафонах, ведь они флеш то не понимают?
Уважаемый админ, прошу помочь настроить мне icecast2 сервер на моем VPS сервере! плачу деньги! )
Домен debian-multimedia.org теперь в других руках, у Debian домен репозитория мультимедиа стал deb-multimedia.org, учтите это при обновлении репозиториев.
спасибо за информацию. поправлю
сделал все как у вас но возникают проблемы почему то идет в разной частоте музыка, 2 с тегами полный атас и 3 часто переподключается плеер
что значит в разной частоте и часто переключается плеер?
что в какой частоте файл идет и в такой играет радио. а в плеере идет частое обновление слишком частое
под плеером я имею ввиду которые аимп3 и винамп и тот что на сайте на высоцком барахлит
Здравствуйте. Организовал поток, но мне нужно организовать второй поток. Прошу помочь с этим, т.к не знаю то ли нужно играть с точками монтирования, то ли другой порт выделять. Вещание будет вестись с плейлиста.
вторым потоком к другой точке
Не совсем представляю как в конфигах это организовать.
В ices.conf есть контейнер:
/name1
В icecast.xml есть теги:
/name1
/name2
Как вещать в name2? В ices.conf прописать еще один теги /name2 ?
Или в icecast.xml добавить теги /name2 ?
вторую копию ices запусти с конфигом на другую точку
Коим образом?
Здравствуйте, подскажите в чем может быть проблема.
При запуске ices в консоли вот такая штука:
Logfile opened
Playing /mnt/m-n-l.ru/Ne_Budite_Spyacshih-Alkogoliki_instrumental(vmusice.net).mp3
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Error during send: Mount failed on http://m-n-l.ru:9500/live, error: Login failed
Too many stream errors, giving up
Ices Exiting…
Я понимаю, что проблема с аутентификацией, но пароли прописаны верные…
Ответ в самой ошибке, проверьте логин пароль на подключение к серверу и название маунта, возможно маунт уже занят
Здравствуйте, уважаемый!
Сделал все по писанному, только не выходит каменный цветок..
от что в логах творицца:
[2015-10-23 18:48:33] INFO main/main Icecast 2.3.3 server started
[2015-10-23 18:48:33] INFO connection/get_ssl_certificate No SSL capability
[2015-10-23 18:48:33] INFO yp/yp_update_thread YP update thread started
[2015-10-23 18:48:33] INFO stats/_stats_thread stats thread started
[2015-10-23 18:48:33] WARN source/source_fallback_file unable to open file «/usr/share/icecast2/web/nonstop»
что за «/usr/share/icecast2/web/nonstop»? нету такого в директории «/usr/share/icecast2/web»
куда копать??
отбой! файерволл! чертов склероз!
А вы можете послать собранный ices 0.4 на почту roman-romkin@mail.ru спасибо. а то у меня очень долго собираться будет….