Как сделать радио интернет: Как создать своё интернет-радио | GeekBrains – Как создать онлайн-радиостанцию
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_7",blockId:rtbBlockID,pageNumber:7,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_7").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_7");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
Как создать своё интернет-радио | GeekBrains
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_6",blockId:rtbBlockID,pageNumber:6,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_6").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_6");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
С автодиджеем, прямыми трансляциями и доступом с любого аудиопроигрывателя
https://d2xzmw6cctk25h.cloudfront.net/post/2103/og_image/142681ae6834115761f3b06efc16b5ac.jpg
Привет, я Антон Чигарёв, системный администратор. В этом посте я расскажу, как создать свою радиостанцию и вещать через интернет. Вы сможете организовать офисное, студенческое или просто частное радио, доступное по всему миру — в любом медиапроигрывателе. Статья рассчитана на новичков, которым нужно доходчивое руководство с нуля.
Небольшая предыстория. У меня есть проект Blind.games, посвящённый компьютерным играм для слепых людей. Это не только сайт, но и голосовой портал на базе TeamTalk, где собирается сообщество. Я, как и многие пользователи моего проекта, тотально слепой, но это не мешает мне интересоваться музыкой и системным администрированием. Периодически мы стримим игры, рассказываем о настройке программ, проводим встречи с интересными людьми. И нам нужно было своё радио, чтобы по расписанию транслировать записи передач, а в остальное время — музыку в случайном порядке, но без повторов. Так я получил опыт, которым сейчас хочу поделиться.
В этой статье я решил систематизировать и доступно изложить информацию, которую собрал из множества источников, проверил на практике и немного дополнил. Рассмотрим весь процесс создания радио: от первых шагов до прослушивания результата.
Что нужно для старта
Всё, что нам понадобится, — это сервер под управлением Debian 9 и две бесплатные программы:
- Icecast — с её помощью организуем вещание, будем управлять аккаунтами диджеев и настройками;
- Liquidsoap — автоматический диджей, который заполнит свободную часть эфира записями из нашей базы. Он будет играть по расписанию или случайным образом.
Грабли, которые мы обойдём
Когда хочешь чередовать живое и автоматическое вещание, сведений из документации вдруг оказывается маловато. Например, сначала я не понимал, как запланировать регулярный выход передачи по определённым дням недели — допустим, по вторникам.
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_5",blockId:rtbBlockID,pageNumber:5,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_5").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_5");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
Потребовалось время, чтобы разобраться, как работают компрессоры и эквалайзеры. Думаю, этой теме можно посвятить отдельный пост.
Сначала я не знал, что Liquidsoap поддерживает работу с переменными. Примеры кода вы не раз увидите ниже.
Но главная проблема, которая никак не хотела решаться, — это невозможность автоматически выключить музыку с началом запланированной передачи. По умолчанию музыка становилась тише, но продолжала играть. Решение мне позже подсказал знакомый, а я пишу уже с учётом того, чтобы подобной ситуации не возникло.
Выбираем сервер
Не буду рекламировать хостинг-провайдеров, но хочу обратить ваше внимание на параметры, важные для работы интернет-радио.
- Поддержка аппаратной виртуализации. Советую брать сервер с KVM, потому что при контейнерной виртуализации (на Open VZ) могут возникать проблемы с Liquidsoap. Я с этим сталкивался.
- Дисковое пространство. Его должно быть достаточно, чтобы помимо ОС и софта уместить вашу музыкальную коллекцию, из которой автодиджей будет брать записи. Чтобы звук оставался качественным, записи лучше не сжимать.
- Оперативная память и процессор. Если вы планируете изредка вещать вживую, а остальное поручить программе, для стабильной работы понадобятся минимум 2 ГБ оперативки и двухъядерный процессор. Обычно Liquidsoap и Icecast не жадны до ресурсов, но когда надо запустить несколько станций или потоков с разным битрейтом, стоит брать сервер помощнее.
Готовимся к работе
Если вы только приобрели сервер и ещё не настроили Debian, нужно убедиться, что система дружит с кириллицей. Мы ведь хотим, чтобы русские названия композиций отображались корректно.
Подключаемся к серверу и быстренько наводим порядок. Для начала устанавливаем обновления. В терминале пишем:
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_4",blockId:rtbBlockID,pageNumber:4,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_4").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_4");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
apt-get update apt dist-upgrade
Дальше смотрим доступные в системе локали:
locale -a
Получаем что-то вроде этого:
C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8
Это значит, что система локализована. Если у вас нет, можете перенастроить локаль командой:
dpkg-reconfigure locales
Дальше, чтобы включить поддержку кириллицы, выберите ru_RU.UTF-8.
И тот же вариант задайте по умолчанию.
Сервер настроен!
Устанавливаем софт
Начнём с Icecast:
apt-get install icecast2
Вас спросят, хотите ли вы сконфигурировать программу. Отвечайте как угодно — окно с настройками всё равно не появится. По крайней мере, я ни разу не дождался его в Debian 9. Но это не критично.
Переходим к следующему шагу — обеспечиваем программе автозапуск. Для этого в любом текстовом редакторе (я использую nano) открываем файл:
nano /etc/default/icecast2
Это именно файл, просто разрешение не указано.
В самом конце находим параметр ENABLE. Важно, чтобы он имел значение true. Если видите false — меняйте. Дальше сохраняем файл нажатием CTRL+O и выходим из редактора (CTRL+X).
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_3",blockId:rtbBlockID,pageNumber:3,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_3").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_3");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
Настраиваем Icecast
Если у вас, как и у меня, не было возможности сконфигурировать программу в процессе установки, пора лезть в настройки. Все они хранятся в файле icecast.xml в директории /etc/icecast2/.
Многие параметры в этом файле прокомментированы — расскажу лишь о тех, без которых не обойтись на старте. За подробностями не грех заглянуть в официальную документацию, а если у вас появятся вопросы, я готов детально разобрать функции Icecast в отдельной статье.
Сначала проверим максимально допустимое число одновременно подключённых слушателей:
<clients>100</clients>
По умолчанию — сто, но ориентируйтесь на ширину канала вашего сервера.
В блоке authentication меняем все данные на свои. Параметру bind-address в качестве значения присваиваем IP-адрес нашего сервера.
Теперь внимательно смотрим на блок mount. Здесь мы пропишем точки монтирования для источников вещания. Это важный момент, без которого не смогут выйти в эфир наши диджеи, в том числе и AutoDJ.
В коде ниже я создаю несколько точек монтирования с индивидуальными параметрами:
<mount> <mount-name>/autodj</mount-name> <password>ваш_пароль</password> <max-listeners>500</max-listeners> <max-listener-duration>3600</max-listener-duration> <dump-file>/tmp/dump-live.mp3</dump-file> <intro></intro> <charset>ISO8859-1</charset> <public>1</public> <stream-name>BestRadio</stream-name> <stream-description>Лучшее радио галактики.</stream-description> <stream-url>http://Ваш.IP:8000/autodj.mp3.m3u</stream-url> <genre>Other</genre> <bitrate>128</bitrate> <type>application/mp3</type> <subtype>mp3</subtype> <burst-size>65536</burst-size> <mp3-metadata-interval>4096</mp3-metadata-interval> </mount> <mount> <mount-name>/live</mount-name> <password>ваш_пароль</password> <max-listeners>500</max-listeners> <max-listener-duration>3600</max-listener-duration> <dump-file>/tmp/dump-live.mp3</dump-file> <intro></intro> <fallback-mount>/autodj</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <charset>ISO8859-1</charset> <public>1</public> <stream-name>MyRadio</stream-name> <stream-description>Прямая трансляция.</stream-description> <stream-url>http://Ваш.IP:8000/autodj.mp3.m3u</stream-url> <genre>Other</genre> <bitrate>128</bitrate> <type>application/mp3</type> <subtype>mp3</subtype> <burst-size>65536</burst-size> <mp3-metadata-interval>4096</mp3-metadata-interval> </mount>
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_2",blockId:rtbBlockID,pageNumber:2,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_2").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_2");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
Как вы могли догадаться, точка autodj подключена, когда в эфире никого нет. Если в это время кто-нибудь у себя в проигрывателе откроет ссылку типа http://ваш-ip:8000/live, он услышит автоматическое вещание. Но стоит вам выйти в эфир с точки live — autodj отключится.
Если вы хотите ограничить доступ к настройкам Icecast, обратите внимание на блок changeowner. Здесь вы можете указать имя и группу пользователя, который вправе менять конфигурацию.
Осталось сохранить результат. С Icecast для первого раза достаточно. Теперь давайте позаботимся об автоматическом диджее.
AutoDJ
Устанавливаем Liquidsoap из репозитория Debian — это легко, проблем возникнуть не должно:
if(rtbW>=960){var rtbBlockID="R-A-744041-3";} else{var rtbBlockID="R-A-744041-5";}
window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({renderTo:"yandex_rtb_1",blockId:rtbBlockID,pageNumber:1,onError:(data)=>{var g=document.createElement("ins");g.className="adsbygoogle";g.style.display="inline";if(rtbW>=960){g.style.width="580px";g.style.height="400px";g.setAttribute("data-ad-slot","9935184599");}else{g.style.width="300px";g.style.height="600px";g.setAttribute("data-ad-slot","9935184599");} g.setAttribute("data-ad-client","ca-pub-1812626643144578");g.setAttribute("data-alternate-ad-url",stroke2);document.getElementById("yandex_rtb_1").appendChild(g);(adsbygoogle=window.adsbygoogle||[]).push({});}})});
window.addEventListener("load",()=>{
var ins=document.getElementById("yandex_rtb_1");if(ins.clientHeight =="0"){ins.innerHTML=stroke3;}},true);
apt-get install liquidsoap
Теперь создадим каталоги для хранения музыки, заставок (джинглов) и передач. У себя я завёл папку Content, а в ней предусмотрел следующие субдиректории:
- Music — сюда я скидываю все музыкальные треки;
- Programs — здесь лежат записи передач;
- Jingles — папка с «рекламными» объявлениями, которых у нас от силы штук пять, чисто для ознакомительных целей;
- Jokes — сюда гружу отрывки из разных стендапов для проигрывания в определённое время.
Давайте реализуем это в терминале:
mkdir /home/Content/Jingles mkdir /home/Content/Programs mkdir /home/Content/Music
Чтобы ускорить и упростить заливку файлов, можете настроить FTP, но это отдельная тема. А пока займёмся настройками программы.
Конфигурационные файлы имеют расширение .liq и хранятся в директории /etc/liquidsoap. Для вашего удобства там лежит пример — файлик radio.liq.example. Его можно редактировать прямо на сервере или загрузить на свой компьютер.
Пересохраняем файл с любым новым именем, допустим, my-dj.liq. Вот как может выглядеть содержимое:
#!/usr/bin/liquidsoap -d #set("init.daemon",true) #set("init.daemon.pidfile",false) set("log.file",false)
Чтобы вести лог работы программы, раскомментируйте эти строки:
#set("log.file.path","/var/log/liquidsoap/basic.log") #set("log.stdout",true) #set("log.level",4)
Блок ниже — для тех, кому нужен telnet.
#set("server.telnet.bind_addr","127.0.0.1") #set("server.telnet",true) #set("server.telnet.port",1234)
Я включаю поддержку OGG и MP3. OGG удобен, когда места мало, а качество некритично.
set("decoder.file_decoders",["META","MAD","OGG"]) set("decoder.file_extensions.mad",["mp3","mp2","mp1"]) set("decoder.file_extensions.ogg",["ogv","oga","ogx","ogg","opus"]) set("decoder.mime_types.ogg",["application/ogg","application/x-ogg","audio/x-ogg","audio/ogg","video/ogg"]) set("decoder.mime_types.mp3",["audio/mpeg","audio/MPA"])
Настраиваем отображение данных о записи: берём инфу из метатегов.
def update_title(m) = title = m["title"] if title == "" or title == "Unknown" then content = m["filename"] content = basename(content) content = get_process_output("STR=\""^content^"\"; echo ${STR%.*}") content = string.recode(out_enc="UTF-8", content) [("title", content)] else sArtist = string.recode(out_enc="UTF-8", m["artist"]) sTitle = string.recode(out_enc="UTF-8", m["title"]) [("title", sTitle), ("artist", sArtist)] end end set("tag.encodings",["UTF-8"])
Указываем путь до папки с музыкой и параметры воспроизведения.
music = nrj(playlist(mode='randomize', reload_mode='rounds=1', '/home/Content/Music'))
Когда все треки отыграют, рандомайзер перемешает их и снова запустит. Теперь укажем путь к джинглам.
jingle = mksafe(playlist("/home/Content/Jingles"))
Чтобы проигрывать записи по расписанию, свяжем их с переменными. Можно использовать одно и то же имя файла для контента одного типа. Например, когда я хочу добавить в расписание аудиокнигу, я загружаю файл в папку Programs и переименовываю его в book.mp3.
book = single("/home/Content/Programs/book.mp3") jokes = single("/home/Content/Programs/jokes.mp3") repeat = single("/home/Content/Programs/archive_recording.mp3")
Дальше укажем, с какими интервалами играть заставки. Например, я ставлю один джингл на каждые пять треков.
radio = rotate(weights = [1, 5],[jingle, music]) radio = crossfade(fade_out = 2.0, fade_in = 1.0, start_next = 0.5, radio) radio = mksafe(radio) radio = map_metadata(update_title, radio) default = fallback(track_sensitive=false,[
Настроим программу передач. Тематические блоки разделим запятыми. В понедельник поставим книгу (путь к файлу уже привязан). Во вторник — шутки. В воскресенье — повтор ранее записанной передачи.
switch([ ({1w13h00m00s}, book), ({2w15h00m00s}, jokes), ({7w18h00m00s}, archive_recording) #Xw — это день недели, где 1 — понедельник. #Xh — час, Xm — минуты, Xs — секунды. ]), radio ]) output.icecast(%mp3(bitrate=128, samplerate=44100, stereo=true),
Внесём данные, уже прописанные в конфигурации Icecast.
mount = "autodj", encoding = "ISO-8859-1", default, host = "ваш_домен", port = 8000, password = "ваш_пароль", genre="other", name="My radio", fallible = true, icy_metadata="true", public=true, url="http://ваш-url", description="Вы слушаете BestRadio.")
Всё сохраняем. Ура! Мы готовы тестировать радио.
Любуемся результатами
Запускаем сначала Icecast:
/etc/init.d/icecast2 start
Теперь Liquidsoap:
service liquidsoap start
Создаём у себя на компьютере текстовый файл и вносим туда строку вида:
http://ваш-ip:8000/autodj
Сохраняем файл с расширением .m3u и открываем его в аудиопроигрывателе. Если в папке Music лежат треки, радио должно играть.
На этом пока всё. Надеюсь, материал был вам полезен. Если хотите, чтобы я раскрыл какие-то темы подробнее, оставьте комментарий. А пока — успеха в запуске вашего радио!
Хотите свободно работать с Debian и другими дистрибутивами Linux? Приходите учиться на профессию «системный администратор», и через 9 месяцев вы не только освоите Linux, но и сможете обеспечивать бесперебойную работу компьютерной техники и ПО в любой организации!
Как сделать свою радиостанцию в сети интернет / Программное обеспечение
Автор: Ярослав Дмитриев
«Возможность практического применения электромагнитных волн для установления связи без проводов впервые продемонстрировал 7-го мая 1895-го года великий русский ученый А.С. Попов (1859 -1906). Этот день считается днем рождения радио» — из учебника физики.
Кто бы мог почти век назад подумать о том, что с развитием Интернета сделать свое радио будет так просто. Для реализации проекта в жизнь вам понадобится компьютер, подключенный к сети Интернет, а также несколько незамысловатых программ и n-ое количество свободного времени.
Мифы о создании интернет-радио
Часто посещая различные компьютерные форумы, я видел, как у людей при одном появлении словосочетания «интернет-радио» появляется куча вопросов, а иногда и не правильных суждений, разъяснить которые — моя первостепенная цель.
Миф первый: для организации интернет-радио необходимо в наличии множество высокопроизводительных PC.
В глазах пользователей запуск сетевого радио представляется как сизисов труд. Некоторые начинают сразу подсчитывать стоимость оборудования, которое придется покупать, заранее обрекая себя лишь на насмешки более опытных сетевых волков. Для успешного запуска радио вам ни в коем случае не нужен ни «парк» высокопроизводительных PC, ни какая-нибудь дорогостоящая аппаратура. Важным фактором для запуска является только широкий интернет-канал, остальное же — мелочи жизни. (имеется в виду запуск интернет-радио «для себя и друзей», но никак не серьезный проект, в будущем ориентированный на доход)
Миф второй: запуск сетевого радио возможен лишь при покупке программного обеспечения.
Миф, схожий с первым, и основанный на том, что специализированный софт стоит огромных денег. Но на белом свете не перевелись еще энтузиасты-программисты, создающие свои детища качественно, быстро, а главное for free. За что им честь и хвала в купе с низким поклоном в ноги.
Софт
Разогнав облака, приплывшие со стороны незнаек, мы подошли к программному обеспечению, с которым нам и предстоит работать. Честно скажу, что подобного софта к сети пруд пруди, и самым ярким и надежным представителем данного класса является творение программистов из Nullsoft. Знакомое имечко, не правда ли? А вы случайно не слушаете музыку Winamp’ом? Так знайте, что эти программы вышли из-под одного пера.
Winamp, SHOUTcast Server, SHOUTcast Plug-in — приведенным списком оканчивается необходимый софт, и мы приступаем к изучению вопросов «что, куда и зачем». Для чего нужен Winamp, я надеюсь, рассказывать не нужно. SHOUTcast Plug-It служит соединительным механизмом между плеером и SHOUTcast Server, с помощью которого вещание идет в массы. Виртуальный дом shoutcast-инструментов расположился на Shoutcast.com, куда и направляемся для закачки программ.
Заходим на сайт, прыгаем в раздел «Download» и начинаем закачку. Размер SHOUTtcast Server составляет 267 Кб, Plug-In — 224 Кб. Что примечательно, разработчики не забыли про пользователей альтернативных операционных систем, так что серверная часть доступна также для Linux, FreeBSD, Solaris и Mac OS X. Выбираем, что ближе по духу и стартуем!
Настройка сервера
Скачав и установив софт, нужно приступать к настройке. Первым на хирургический стол пойдет SHOUTcast Server. Для начала нужно вспомнить, в какую папку вы назначили установку сервера (по умолчанию — C:Program FilesSHOUTcast). Вспомнили? Тогда смело отправляйтесь по направлению к папке, а когда дойдете, смело ищите файл sc_serv.ini. Нашли? Тогда открывайте его любым тестовым редактором и будьте готовы к серьезной работе.
Данный файл содержит множество опций для настройки, но мы обратим наш взор лишь на жизненно необходимые (примечание — на официальном сайте описаны все опции файла настройки, так что есть вам интересно, что означает та или иная опция — вам сюда.
PortBase — здесь указывается порт, на котором будет висеть сервер. По умолчанию — 8000. Не рекомендую менять данное значение, но если порт 8000 у вас уже занят, вы с легкостью можете его поменять.
MaxUser — здесь задается максимальное количество юзеров, присутствующих одновременно.
Password — так как сервер позволяет удаленное руководство, здесь нужно указать пароль для администрирования. Учтите, что задавать слишком легкий пароль не имеет смысла, так что хорошо подумайте, прежде чем сюда что-то вписать.
Отныне сервер находится в боевой готовности, поэтому стоит обратить свой взор на плагин. Если SHOUTcast Plug-In вы еще не установили, сделайте это в самые короткие сроки. Установили? Тогда запускайте Winamp, если он еще не запущен и нажимайте ctrl+p (или же Options-Preferences). Ищите в списке пункт Plugins — DSP/Effect и выбирайте справа Nullsoft SHOUTcast Source DSP.
На экран выскочит окошко с четырьмя закладками. Тут и будет происходить настройка плагина, поэтому ранее приготовьте чашечку чая для комфортной работы. Времени понадобится не так много, главное — внимание.
Первую закладку мы трогать не будем, сразу перейдем к Output. Для начала активируем опцию «Connect at startup», позволяющую присоединятся к серверу после запуска plug-in’a. При нажатой кнопке Connection у вас должны быть доступны следующие опции для настройки:
Address — тут нужно указать ip-адрес компьютера, на котором установлен сервер.
Port — здесь нужно вписать порт, на котором висит сервер. Значение берем согласно порту, который был указан ранее в конфигурационном файле сервера.
Password — опять-таки берем пароль из конфигурационного файла и вписываем сюда.
Активировав опцию Automatic Reconnection on Connection Failure, plug-in будет автоматически соединяться заново с сервером при обрыве связи. Временной отрезок между попытками указывается в опции Reconnection TimeOut. Я оставил 30 секунд, значение по умолчанию.
Разобравшись здесь, активируем кнопку YellowPages и приступим к заполнению свободных форм:
Make this server public — активировав опцию, тем самым вы позволяете публикацию данных о вашей радиостанции в Интернете, а точнее на главной странице http://www.shoutcast.com. Если вы планируете вещать только в пределах локальной сети, активировать данную опцию не нужно.
А если вы планируете радовать качественной музыкой не только пользователей локальной сети, где обитаете, но и глобальной сети, то милости просим:
Description — сюда нужно вписать название радиостанции. Выбор за вами — либо придумать яркое и запоминающее название, не связанное ни с чем, либо назвать станцию согласно музыкальному направлению, в котором и будет происходить вещание.
URL — если есть, то вписывайте страницу радиостанции, либо адрес домашней хижины, опять-таки при наличии.
Genre — жанр, любимое направление в музыке. Как вы, наверное, догадались, сделано это для облегчения поиска, поэтому не ленитесь, вписывайте верно.
ICQ — здесь вводим номер ICQ ди-джея. Если такого нет — пропускаем. Аналогично IRC и AIM. Активировав опцию Enable Title Updates, тем самым вы позволяете пускать в сеть информацию о проигрываемом файле из тегов файла.
Третья по счету закладка под названием Encoder предлагает нам выбрать как режим вещания (моно/стерео), так и битрейт. Можно заранее выставить до пяти различных конфигурации вещания, а в процессе просто переключаться между ними, в зависимости от количества слушателей.
Последняя закладка Input не так проста, как может показаться. Разработчики под конец приготовили мощный инструмент, позволяющий подавать в эфир не только музыкальный поток, генерируемые плеером, но и данные, к примеру, с микрофона. Если ничего кроме музыки в эфир не пойдет, по определенным соображениям, то смело оставляйте Winamp в выпадающем списке опции Input Device. Тогда как при желании работать с микрофоном — выставляем Soundcard Input и смотрим, что подлежит настройке.
- Open Mixer — вызов стандартного системного микшера.
- Push to Talk — нажимаете кнопку, «пускаете» голос в эфир, не прерывая при этом звучание музыкальной мелодии.
- Lock — данная кнопка активирует залипание клавиши Push to Talk.
- Music Level — ползунок, задающий громкость мелодии, играющей в данный момент.
- BG Music Level — уровень громкости фоновой музыки при речевом эфире.
- Mic Level — уровень громкости микрофона.
- Fade Time — скорость снижения/нарастания уровня громкости во время перехода из режима в режим.
Все, plug-in настроен, как и сервер, так что пора приступать к торжественному запуску. Для этого запускаем SHOUTcast Server из папки, где был установлен дистрибутив, нажимает на закладке Output кнопку «Connect» и наслаждаемся побежавшими байтиками в сеть.
Проверка в бою
Проверить работоспособность сервера легко. Для этого нужно направиться по адресу http://ip-адрес_сервера:порт, где установлен сервер (к примеру, http://127.0.0.1:8000). В рабочем пространстве браузера у вас должна появится схожая страница.
Пользователю, а даже точнее слушателю можно как раздавать url формата http://ip-адрес:порт/listen.pls, так и просто отправлять на страницу сетевого радио, с которой также можно начать прослушивание, нажав на ссылку «Listen».
Удаленное администрирование
Как было сказано ранее, сервер позволяет удаленное администрирование. Зайдя на адресу http://ip-адрес_сервера:порт, и кликнув на ссылку «Admin», вы попадете в меню администратора, предварительно правильно введя логин (по умолчанию — admin) и пароль (тот, что ввели в файле конфигурации сервера). Перед вами окажется несколько инструментов, включая бан пользователей, просмотр log-файла сервера, а также бронирование места на сервере для определенного ip-адреса. Очень удобно и без багов.
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Все необходимое для самостоятельной сборки Web-радиоприемника
Вы могли слышать про популярные радиоприемники, которые получают сигнал трансляций из интернета. Для работы подобного устройства не нужна радиотрансляционная вышка — только домашний Wi-Fi. Умельцы стилизуют свои самодельные Web-радиоприемники под олд-скульную и винтажную технику. А готовые устройства стоят весьма не скромно. В этой статье расскажу, как самостоятельно собрать интернет-радио с минимальными затратами.
Для сборки вам потребуется:
1. Источник питания (от 5 до 24 В). Пойдут старые блоки питания от гаджетов, ноутбуков и так далее. Возможно потребуется отдельный преобразователь для контроллера (для понижения с 24 до 5 В).
2. Корпус. Можно использовать старые корпуса от гаджетов, старой аудио-видео техники. Хороший вариант — встроить контроллер в активные компьютерные колонки — приличный вид плюс усилитель, динамики и источник питания. Можно сделать корпус с нуля — из пластика, ДСП, картона и т.п. Основная проблема будет — сделать аккуратную переднюю панель.
3. Контроллер для интернет радио. Это модуль с Wi-Fi и открытой прошивкой. Можно использовать роутер с Open-WRT, можно отдельный контроллер на ESP32/8266. Желательно брать сразу с дисплеем, так как будет компактнее и проще готовое изделие.
4. Аудиомодуль и аудиоусилитель. Если контроллер не имеет встроенной микросхемы для вывода звука, то лучше приобрести отдельный ЦАП с интерфейсом I2S. Потребуется также и усилитель звука для вывода на мощные колонки.
5. Динамики или колонки. Самый простой вариант — колонки от портативной акустики, это компактные и широкополосные варианты на 2″ или 3″.
6. Прямые руки для того, чтобы собрать все вместе, спаять, залить прошивку, IP адреса вещания, а также придать приличный внешний вид готовому устройству.
Контроллеров несколько, на выбор. Самый простой вариант (Kit8) стоит около $4.9, вариант с дисплеем побольше (T-Display) около $10, но обратите также внимание на функциональные варианты, например, T-Audio со встроенным ЦАП-ом.
Контроллер для интернет-радио KIT8 на ESP8266
Это, наверное, самый простой вариант (Wi-Fi Web Kit8) — модуль на базе NodeMCU/ESP-8266 со встроенным дисплеем и USB интерфейсом. Подходит не только для проектов интернет-радио, но и для самодельных RC-моделей, для умного дома, IoT и так далее. Модуль предусматривает несколько дискретных входов-выходов, а также аналоговый (А0).
Контроллер для интернет-радио TTGO T-display ESP32
Неплохой вариант — контроллеры от TTGO. Этот вариант чут-чуть подороже, но и экран побольше. Модуль может быть интереснее, как управляющий модуль для интернет радио. На экране можно выбирать нужную «радио-волну», а кнопками подтверждать выбор. Аналогично предыдущей плате, модуль имеет интерфейс USB.
Контроллер для интернет-радио TTGO T5s ESP32 EPaper
Достаточно дорогой, но популярный модуль TTGO T5s. Версия платы V2.1, остнован на ESP32 и огромном 2,7″ дисплее Е-ink (E-Paper). Модуль имеет встроенный микрофон, ЦАП МAX98357A, ридер SD карты, bluetooth. Это одно из готовых решений для интернет-радио.
Контроллер для интернет-радио TTGO T-AUDIO WROVER
Самый фукциональный модуль от TTGO, заточенный под воспроизведение аудио. Это T-Audio (альтернативное название WROVER ESP32). Имеет интересную круглую форму платы под портативные колонки — как раз вариант под самодельный корпус из водопроводной трубы. На плате расположен ридер SD карт, bluetooth, WI-FI, ЦАП WM8978, светодиод WS2812B RGB и акселерометр MPU9250.
декодер DAC I2S PCM5102 (RCA)
декодер DAC I2S PCM5102 (3.5 мм)
Последние два модуля имеют встроенный ЦАП, а для остальных следует приобрести отдельный шилд с микросхемой для вывода звука (I2S DAC). Эти шилды заточен под вывод звука с контролера через интерфейс I2S (стандартный). Из цифрового потока в аудио преобразование выполняет специальный ЦАП PCM5102.
Динамики для портативной колонки 2 дюйма 3 Ом 8 Вт (2 шт)
Дешевые динамики (2 шт) 3 Ом 4 Вт $2
В первом лоте есть в комплекте передняя панель, останется найти только коробку. По качеству неплохие и громкие (широкополосные). Вторые динамики совсем дешевые ($2), но пойдут для пробы.
цифровой усилитель мощности PAM8610
Недорогой усилитель PAM8610 с двумя выходами по 2х10 Вт — пригодится для усиления звука на динамики. Это самые популярный и недорогой усилитель сигнала класса D. Подключение проблем не вызывает — правый/левый каналы, питание, динамики.
цифровой усилитель мощности PAM8610
Недорогой усилитель PAM8610 с двумя выходами по 2х10 Вт с регулировкой звука. Такой же, как и предыдущий, недорогой, но с распаянным фильтром и коннекторами для удобства. Я рекомендую именно такой, особенно если есть возможность расположить все в корпусе.
Корпус можно собрать из подручных материалов — взять старую коробку из-под устройств, компьютерные колонки, старые DVD плееры или радиоприемники.
Все указанные модули прошиваются из Arduino. Прошивки открытые.
Крайне годный проект Ka-Radio32.
Прошивка для Т-аудио.
Если честно, то это одни из лучших проектов для самостоятельно сборки. Очень полезное применение недорогих комплектующих, паяльника и своего времени. Если вы пытаетесь увлечь сына программированию, то это простой и наглядный способ рассказать что и как. Если вы подбираете проект для школы или института, то тоже рекомендую обратить внимание, так как подобные проекты в последнее время наиболее актуальны.
Как создать Интернет радио
Решения для систем Радиовещания:
Оборудование для Радиовещания:
Истории успеха:
Для создания Интернет радио нужны следующие технические средства:
- аудио кодер ITMS-R11E
- — сервер вещания ITMS-R12
Для создания Интернет радио нужно решить следующие задачи:
- выбрать источник сигнала (сигнал из студии, эфирное FM-радио, сигнал со спутника)
- для снижения трафика Интернет необходимо закодировать (сжать) аудиосигнал
- доставить сигнал из студии в дата-центр, из которого будет происходить вещание на широкую аудиторию
- из дата-центра раздать сигнал слушателям интернет радио
- создать систему статистики для контроля трафика и для учета количества слушателей
Как сделать Интернет радио – типовая схема:
Аудиосигнал, который необходимо транслировать в Интернет, нужно подать на аудио кодер.
Аудио-кодер оцифрует аналоговый сигнал и сожмет его в формат mp3 и/или HE AAC (High Efficiency Advanced Audio Coding version 2).
После сжатия стерео радио сигнал с наилучшим качеством (максимальная частота звука до 20кГц) потребует полосы пропускания 80кбит/с для формата HE AAC и 150кбит/с для формата mp3.
Сжатые аудио-данные помещаются в IP-пакеты, которые поступят на Ethernet выход аудио кодера. Через сеть Интернет потоки с аудио-данными поступают в дата-центр, имеющий мощные каналы связи с Интернет.
Сервер вещания, находящийся в дата-центре, осуществляет дублирование входящего цифрового аудио сигнала, в результате каждый радиослушатель получает свой собственный Интернет-радио поток.
Чем больше Интернет радиослушателей, тем больше суммарный поток, исходящий из сервера вещания. Например: прослушивание радиопередачи, в формате HE AAC с максимальным качеством одновременно одной тысячью пользователей, создаст исходящий трафик со скоростью 80Мбит/с (80кбит/с * 1000). В формате mp3 требования к каналам связи почти в два раза выше.
Один сервер вещания может обслуживать сразу несколько Интернет радиостанций. Программное обеспечение сервера вещания ведет статистику подключений радиослушателей, что позволяет определить популярность конкретной радиопередачи.
Для организации вещания Интернет радио на сайте, на заданной странице сайта нужно просто поместить ссылку, в которой будет указан IP-адрес сервера вещания.
Подведем итог – для создания Интернет радио нужны следующие технические средства:
— аудио кодер ITMS-R11E
— сервер вещания ITMS-R12
Иногда, на начальном этапе развития Интернет-радио выгодней не покупать свой сервер вещания, а арендовать часть ресурсов существующего сервера вещания.
Материалы по теме: Сравнение потокового вещания в форматах mp3 и AAC HE V.2
Как создать интернет радиостанцию?
Радио онлайн с каждым днем становится все популярнее. Слушать радио в режиме онлайн можно совершенно бесплатно, и качество звукопередачи обычно немного лучше, чем в стандартном радиоприемнике.
Создание радио в интернете обойдется вам гораздо дешевле, чем делать большие инвестиции в создание обычной радиостанции с нуля.
Интернет радиостанция потребует от владельца некоторых личных качеств: тонкого музыкального вкуса, креативного мышления и творческого подхода к тщательному поиску и воплощению популярной концепции. Также нелишним будет знание определенных компьютерных программ, чтобы онлайн радио работало без помех.
В свободном доступе можно найти все, что нужно для создания онлайн радиостанции. Все необходимые программы легко устанавливаются на компьютер. Прежде, чем стартовать, продумайте плей лист и радио и развлекательные программы для него. Создание радиостанции займет немало времени, однако эта деятельность считается увлекательной.
Продвижение онлайн радиостанции осуществляется с помощью поисковиков. На первых порах большого дохода ждать не придется – над радио нужно работать.
Чтобы радио приносило стабильный доход, заключите контракты с рекламодателями и работайте на свою целевую аудиторию. Передачи на заказ – также хороший способ заработать на собственном онлайн радио. Здесь вы можете сами определить, о чем будете говорить – тема заказчика может быть вам по душе, а есть вещи, о которых люди ни за что не станут дискутировать в прямом эфире.
Для того чтобы вашим клиентам было куда отправить финансовые средства, и поблагодарить ваше онлайн радио за хороший эфир или интересную передачу, создайте интернет-кошелек. На сайте радио можно разместить его номер, и помочь новому проекту сможет каждый желающий, которому понравилось слушать ваше радио.
Как открыть интернет-радио с нуля
Интернет-радио – это один из возможных способов заработка в сети.
Можно совместить тематическое и музыкальное направление. Онлайн радио – хороший и быстрый способ заработка. Для того, чтобы открыть радио в интернете с нуля, вам понадобится регистрация на сервисе. Там с вас потребуют оплату за обслуживание. За небольшую сумму вам предоставят сервис для радиовещания, и сайт с доменным именем третьего уровня и возможностью создания доменного имени второго уровня.
Вам не потребуется специальное дорогое оборудование и аренда отдельного помещения. На первых порах программы вести вы сможете и самостоятельно. Тематика и целевая аудитория вашего онлайн радио может быть совершенно любой. В США созданы несколько радиостанций, предназначенных для домашних питомцев (на самом деле целевой аудиторий конечно же являются хозяева породистых кошечек и собачек)
Как создать интернет радио без вложений?
Проанализируйте поведение своих конкурентов. Что приносит им популярность? Такой мониторинг нужен также для того, чтобы выделяться из общей массы интернет-радио. Нужны популярные и актуальные, но при этом – фреш-темы. Совместив тематическую направленность радиостанции и хорошее музыкальное сопровождение, можно неплохо заработать. Слушателям нравится, когда им дарят подарки, выполняют их заказы, общаются с ними в чате и предлагают поучаствовать в конкурсах.
Предложите слушателям задать вопросы ведущим, пусть предлагают собственные темы – так у вас будет меньше работы по созданию и подготовке эфиров, а слушателям подобная практика очень льстит. Монологи необходимо чередовать с музыкальными вставками.
На видео: Несколько способов создания собственной радиостанции
Слушать музыку онлайн – здорово!
Запуск интернет радио
Прежде всего, нужно установить на компьютере программу типа Winamp. Понадобятся также доп. файлы shoutcast server (используется как сервер радиостанции) и shoutcast pug-in (он поможет объединить сервер и программу Winamp, установленную на вашем ПК).
В таком случае базой может стать ваш сайт или сайт разработчиков программы.
Файлы и сервер не слишком хорошо «дружат» с проигрывателями другого типа, поэтому тратить время на установку других программ не рекомендуется, особенно если у вас нет опыта. Настройка сервера осуществляется по инструкции, которая прилагается на официальном сайте. Этих рекомендаций необходимо придерживаться.
Для того чтобы начать зарабатывать на своем интернет-радио, стоит позаботиться о привлечении большего числа людей. Ключевыми станут потребности вашей целевой аудитории – подбирайте соответствующую музыку для нее и придумайте, чем будете отличаться от подобных радиоточек в сети. Проанализируйте эфиры ваших конкурентов, и определите, какая музыка больше всего нравится слушателям. Используйте собственную фантазию и смекалку.
Создание собственного интернет радио не требует наличия большого количества мощных аппаратов или приобретения дорогостоящего сложного софта.
На видео: Радио с нуля в интернете