Найти тему
Петр Каменев

Как я делал интернет-радио. Часть 2.

Итак, в прошлой части я рассказал, зачем я взялся за эту затею, теперь начну рассказ про реализацию.

Здесь так же можно разделить на две части - программная и железная.

Начнем с того, что понадобится иметь интернет с приличной скоростью (минимум 30 мегабит, если вы делаете станцию дома, т.к. кроме радио у вас будут еще смотреть видео, качать файлы и сидеть в соцсетях, что тоже забивает канал). У меня уже было подключено 100 мегабит, поэтому я не переживал.

Далее, нам понадобится фиксированный "белый" IP-адрес от провайдера, т.к. снаружи клиенты нашей интернет-станции должны будут достучаться до сервера внутри квартиры, а без "белого" адреса у вас нет такой возможности. Есть некоторые платные сервисы (и условно-бесплатные), которые предоставляют эмуляцию внешнего адреса, но это решение ненадежно, я его отмел, как нестабильное и затратное. За фиксированный адрес обычно так же нужно платить провайдеру, в моем случае +100 рублей в месяц к счету, но опять же не радио единым жив домашний сервер.

Нам понадобится компьютер, на котором будет работать программа интернет-радио. Можно взять домашний, но тогда придется держать его все время включенным, а можно использовать для этих целей миникомпьютеры, неттопы и прочие компактные решения. У меня это Intel NUC на Intel Core i5, с 6 гб оперативной памяти и SSD на 80 Гб, которых вполне хватает на библиотеку музыки, и кучу работающих сервисов (домашний сервер) помимо интернет-станции.

Intel NUC. Фото взято в свободном источнике.
Intel NUC. Фото взято в свободном источнике.

Как это все настроить.

Берем плеер, допустим Winamp, создаем в нем плейлист нашей музыки, включаем повтор и shuffle - чтобы треки играли не по порядку и проигрывание никогда не останавливалось.

Winamp с плагином ShoutCast, аналогом IceCast
Winamp с плагином ShoutCast, аналогом IceCast

Настраиваем сервер вещания:

1. Устанавливаем «Icecast2» отсюда

2. Открываем файл конфигураций «icecast.xml» (кнопка Configuration в окне программы)

Ищем строки:

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

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

<************* >hackme</**************>

где «hackme» пароль меняем на свой пароль.


<admin-user>admin</admin-user>

где «admin» это логин в веб-админку, меняем его на свой.


В этом же файле ищем строчки:

<!-- 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>127.0.0.1</hostname>

<hostname>127.0.0.1</hostname>

«127.0.0.1» меняем на свой внешний IP адрес.

Порт стандартный: «8000»

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

После настройки параметров нужно нажать кнопку "Start Server" в окне программы управления IceCast2, ярлык которой создастся у вас на рабочем столе. Там же можно выставить галку для автостарта сервера при запуске программы, а саму программу потом закидываем в Автозагрузку.

окно ICeCast2
окно ICeCast2

3. Нам понадобится плагин для Winamp, который соединит IceCast с плеером. Качаем отсюда.

Далее открываем в Winamp настройки - Плагины и делаем следующую настройку:

Открываем настройки
Открываем настройки
Идем в DSP - Oddcast
Идем в DSP - Oddcast
Жмем Add Encoder и в нем Configure
Жмем Add Encoder и в нем Configure
Настраиваем с теми параметрами, что вписывали в IceCast2
Настраиваем с теми параметрами, что вписывали в IceCast2

После чего в предыдущем окошке жмем Connect, и если он будет Connected - то все работает, можно закрыть лишние окошки и включать плеер - ваше самое простое интернет радио заработало. Осталось показать его миру, пробросив пару портов на роутере на внешний адрес. А пока ваше радио вещает в локальной сети, можете проверить это набрав с другого устройства в браузере http://IP_вашего_компьютера_с_интернетрадио:8000, у вас должна открыться примерно такая веб-страничка:

Страница сервера IceCast
Страница сервера IceCast

Если на этой страничке нажать на "Click to listen", то скачается файлик, который при открытии в аудиоплеере подключит его к интернет-радио и начнет воспроизведение.

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

Если вам понравилась статья - ставьте лайк, так я пойму, что кому-то кроме меня это интересно ;)

Часть 3.