Интернет-радио своими руками
Решил я как-то сделать из своего домашнего роутера D-Link 320 интернет-радио...
Самое смешное это то, что у меня это получилось =)
Теперь расскажу как я это сделал.
Первым делом это установка прошивки DD-WRT и в дальнейшем OPTWARE. О
том, как её установить я рассказал в своей прошлой статье, поэтому опущу
эти вопросы.
Ссылка на статью: nnm.ru/blogs/bionicman2005/...
А продолжу с главы номер IV. Дополнительный софт
Для того, чтобы установить интернет-радио на роутере будет необходимо установить:
adduser — программа для добавления пользователя (не root)
icecast — графическая оболочка для радио вещания
ices0 — основной сервис вещания радио
lighttpd — для поддержки web-оболочки.
Для этого, в командной строке telnet, пишем:
/opt/bin/ipkg-opt install lighttpd | Подробная инструкция о настройке указана в предыдущей статье.
/opt/bin/ipkg-opt install adduser
/opt/bin/ipkg-opt install icecast
/opt/bin/ipkg-opt install ices0
После благополучной установки переходим к настройке программ.
Настройку программ удобнее всего проводить на компьютере, а не через
telnet, поэтому достаем флешку из роутера и подключаем к компьютеру.
Сразу подготовьте музыку к загрузке (оригинальное название треков менять не нужно).
После того, как вы это сделаете, загружайте музыку в папке под названием, например, "radio" в папку "opt"
Настройка IceCast:
Файл, который нужно будет настраивать находится тут:
/opt/etc/icecast.xml
Далее что в коде файла:
Пункт <clients>20</clients> | Укажите сюда количество одновременных слушателей вашего радио. Мне пока не
удалось проверить сколько потоков осилит роутер, поэтому точно сказать число не могу.
<source-password>password</source-password> | сюда пишите любой пароль
<relay-password>tplink</relay-password> | повторяем этот пароль
<admin-user>admin</admin-user> | Логин к админской панели Web-интерфейсам радио.
<admin-password>password</admin-password> | пароль
<hostname>192.168.0.1</hostname> | сюда укажите айпи роутера (внутренний)
<port>8081</port> | порт для подключения (укажите любой удобны, кроме 80 т.е. роутер его использует).
<logdir>/tmp/</logdir> | один из важных моментов настройки. Укажите как тут.
Второй важный момент настройки:
(Замените свой кусок этим куском)
<security>
<chroot>0</chroot>
<changeowner>
<user>nobody</user>
<group></group>
</changeowner>
</security>
//Дело в том, что IceCast категорически не хочет работать через права
root. Поэтому нужно добавить обычного пользователя. Он будет называться
"nobody".
С кодом закончили.
Теперь нужно добавить файлы error.log и access.log в корень папки "tmp" на флешке.
Если этой папки нет, нужно её тоже создать.
Настройка ICES
Файл, который нужно будет настроить, находится тут:
/opt/etc/ices.conf.dist
Файл переименовываем в "ices.conf" и помещаем в папку с вашей музыкой.
Работа с кодом:
Устанавливаем как в IceCast:
<Hostname>192.168.0.1</Hostname>
<!-- Port of the same -->
<Port>8081</Port>
Пароль что вы указывали ранее в icecast:
<Password>password</Password>
<Name>DIR320 Radio</Name> | название вашего радио
<Genre>Metal</Genre> | Стиль музыки вещания
<Description>Zel Radio on Dir320</Description> | Описание вашего радио
<URL>http://192.168.0.1/</URL> | Ссылка на ваше радио
<Public>0</Public> | Если вы хотите, чтобы о вашем радио узнали, поставьте "1", если нет, то "0"
<Bitrate>128</Bitrate> | качество вещаемой музыки
Настройка завершена.
Краткое резюме:
1. конфигурация icecast.xml
2. создание файлов в /tmp/ error.log и access.log
3. переименовка файла ices.conf.dist в ices.conf
4. конфигурация файлов ices.conf
5. загрузка музыки на флешку в /opt/radio/
6. перенос ices.conf в /opt/radio/
После того, как всё это выполнено, флешку можно вставлять обратно в роутер. Остальные настройки будут через telnet.
V. Окончательные настройки.
Подключаемся к роутеру через telnet, авторизуемся.
Создаем плейлист вашей музыки. Для этого пишем:
cd ..
cd ..
cd /opt
cd /radio
ls > playlist.txt
Далее создаем пользователся "nobody"
Пишем:
adduser -S nobody
Игнорируем все, что написано про пароль.
Далее запускаем icecast.
Для этого пишем:
cd ..
cd ..
cd ..
icecast -b -c opt/etc/icecast.xml
// теоретически не должно появится никаких ошибок. Если всё-таки будут, то проверьте правильно ли указаны
адреса error.log и access.log
// Если будет ошибка про права root. То проверьте правильно ли вы
указали пользователя "nobody" и добавили ли его через предыдущий пункт.
Всё нормально, если откроется страничка по адресу: 192.168.0.1:8081 (адрес, что вы указали в настройках ранее).
// Если не открывается, проверьте этапы с настройки lighttpd и icecast.
Последний этап
Запуск радио.
Для этого пишем:
cd ..
cd ..
cd ..
cd /opt
cd /radio
ices -c ices.conf
После этого запускайте ваш аудио-плеер на компьютере и открывайте
http://192.168.0.1:8081/ices (айпи и порт — те, что вы указывали ранее).
С этого момента должно работать радио!
Теперь кратко о том, что нужно, чтобы запустить радио после всех настроек.
Так как после каждой перезагрузки роутера настройки о пользователях
слетают, нужно будет каждый раз добавлять пользователя "nobody".
Для этого прописывать: adduser -S nobody
После этого запускать IceCase: icecast -b -c opt/etc/icecast.xml
И уже после этого запускать Ices через папку с музыкой: ices -c ices.conf
Вывод: Это возможно! Это отлично работает! Если настроить
лучше, чем это сделал я, то можно будет прописать в автозагрузку роутера
всё необходимое, как я это сделал в предыдущей статье, и тогда радио
будет работать 24\7 =)
\\ Я ковырялся, но что-то не хватило сил настроить как положено, прошу простить.
Если кто-нибудь напишет "рецепт" нормального запуска (через автозагрузку) буду признателен.
Благодарю автора сайте за инструкцию по настройке IceCast и Ices: opennet.ru/base/sys/icecast...
Надеюсь вам было интересно! Спасибо за внимание!
P.S. Можете послушать моё радио по ссылке: ufm.servegame.com:8081/ices
Максимальное количество пользователей 10, поэтому не всегда получится подключиться.
Чтобы к вам смогли подключиться без внешнего айпи, используйте сервис no-ip.
|