Итак, в прошлой части я рассказал, зачем я взялся за эту затею, теперь начну рассказ про реализацию.
Здесь так же можно разделить на две части - программная и железная.
Начнем с того, что понадобится иметь интернет с приличной скоростью (минимум 30 мегабит, если вы делаете станцию дома, т.к. кроме радио у вас будут еще смотреть видео, качать файлы и сидеть в соцсетях, что тоже забивает канал). У меня уже было подключено 100 мегабит, поэтому я не переживал.
Далее, нам понадобится фиксированный "белый" IP-адрес от провайдера, т.к. снаружи клиенты нашей интернет-станции должны будут достучаться до сервера внутри квартиры, а без "белого" адреса у вас нет такой возможности. Есть некоторые платные сервисы (и условно-бесплатные), которые предоставляют эмуляцию внешнего адреса, но это решение ненадежно, я его отмел, как нестабильное и затратное. За фиксированный адрес обычно так же нужно платить провайдеру, в моем случае +100 рублей в месяц к счету, но опять же не радио единым жив домашний сервер.
Нам понадобится компьютер, на котором будет работать программа интернет-радио. Можно взять домашний, но тогда придется держать его все время включенным, а можно использовать для этих целей миникомпьютеры, неттопы и прочие компактные решения. У меня это Intel NUC на Intel Core i5, с 6 гб оперативной памяти и SSD на 80 Гб, которых вполне хватает на библиотеку музыки, и кучу работающих сервисов (домашний сервер) помимо интернет-станции.
Как это все настроить.
Берем плеер, допустим Winamp, создаем в нем плейлист нашей музыки, включаем повтор и shuffle - чтобы треки играли не по порядку и проигрывание никогда не останавливалось.
Настраиваем сервер вещания:
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, ярлык которой создастся у вас на рабочем столе. Там же можно выставить галку для автостарта сервера при запуске программы, а саму программу потом закидываем в Автозагрузку.
3. Нам понадобится плагин для Winamp, который соединит IceCast с плеером. Качаем отсюда.
Далее открываем в Winamp настройки - Плагины и делаем следующую настройку:
После чего в предыдущем окошке жмем Connect, и если он будет Connected - то все работает, можно закрыть лишние окошки и включать плеер - ваше самое простое интернет радио заработало. Осталось показать его миру, пробросив пару портов на роутере на внешний адрес. А пока ваше радио вещает в локальной сети, можете проверить это набрав с другого устройства в браузере http://IP_вашего_компьютера_с_интернетрадио:8000, у вас должна открыться примерно такая веб-страничка:
Если на этой страничке нажать на "Click to listen", то скачается файлик, который при открытии в аудиоплеере подключит его к интернет-радио и начнет воспроизведение.
О том, как пробросить порты наружу, а также о том какие есть программы для радио кроме простых плееров - в следующей статье.
Если вам понравилась статья - ставьте лайк, так я пойму, что кому-то кроме меня это интересно ;)