Привет, я Антон Чигарёв, системный администратор. В этом посте я расскажу, как создать свою радиостанцию и вещать через интернет. Вы сможете организовать офисное, студенческое или просто частное радио, доступное по всему миру — в любом медиапроигрывателе. Статья рассчитана на новичков, которым нужно доходчивое руководство с нуля.
Небольшая предыстория. У меня есть проект Blind.games, посвящённый компьютерным играм для слепых людей. Это не только сайт, но и голосовой портал на базе TeamTalk, где собирается сообщество. Я, как и многие пользователи моего проекта, тотально слепой, но это не мешает мне интересоваться музыкой и системным администрированием. Периодически мы стримим игры, рассказываем о настройке программ, проводим встречи с интересными людьми. И нам нужно было своё радио, чтобы по расписанию транслировать записи передач, а в остальное время — музыку в случайном порядке, но без повторов. Так я получил опыт, которым сейчас хочу поделиться.
В этой статье я решил систематизировать и доступно изложить информацию, которую собрал из множества источников, проверил на практике и немного дополнил. Рассмотрим весь процесс создания радио: от первых шагов до прослушивания результата.
Грабли, которые мы обойдём
Когда хочешь чередовать живое и автоматическое вещание, сведений из документации вдруг оказывается маловато. Например, сначала я не понимал, как запланировать регулярный выход передачи по определённым дням недели — допустим, по вторникам.
Потребовалось время, чтобы разобраться, как работают компрессоры и эквалайзеры. Думаю, этой теме можно посвятить отдельный пост.
Сначала я не знал, что Liquidsoap поддерживает работу с переменными. Примеры кода вы не раз увидите ниже.
Но главная проблема, которая никак не хотела решаться, — это невозможность автоматически выключить музыку с началом запланированной передачи. По умолчанию музыка становилась тише, но продолжала играть. Решение мне позже подсказал знакомый, а я пишу уже с учётом того, чтобы подобной ситуации не возникло.
Выбираем сервер
Не буду рекламировать хостинг-провайдеров, но хочу обратить ваше внимание на параметры, важные для работы интернет-радио.
- Поддержка аппаратной виртуализации. Советую брать сервер с KVM, потому что при контейнерной виртуализации (на Open VZ) могут возникать проблемы с Liquidsoap. Я с этим сталкивался.
- Дисковое пространство. Его должно быть достаточно, чтобы помимо ОС и софта уместить вашу музыкальную коллекцию, из которой автодиджей будет брать записи. Чтобы звук оставался качественным, записи лучше не сжимать.
- Оперативная память и процессор. Если вы планируете изредка вещать вживую, а остальное поручить программе, для стабильной работы понадобятся минимум 2 ГБ оперативки и двухъядерный процессор. Обычно Liquidsoap и Icecast не жадны до ресурсов, но когда надо запустить несколько станций или потоков с разным битрейтом, стоит брать сервер помощнее.
Сколько стоит открыть радиостанцию
Если вы решили открыть радиостанцию, предстоят следующие расходы.
Статья расхода | Стоимость, руб. |
Регистрация ООО, внесение уставного капитала | 15 000 |
Регистрация СМИ | 8 000 |
Получение лицензий | 34 000 |
Получение согласований | от 350 000 |
Конкурсный или лицензионный сбор | 600 000 — 25 000 000 340 000-570 000 |
Регистрация радиопередатчика | бесплатно |
Разрешение на коммерческую деятельность | бесплатно |
Аренда помещения | от 100 000 |
Аппаратно-студийный комплекс (АСК) | от 500 000 |
Антенна | от 20 000 |
Радиопередатчик | от 20 000 |
Сертификация АСК | от 20 000 |
от 2 000 000 | |
Зарплата персонала (9-10 чел.) | от 300 000 |
Непредвиденные расходы | 1 000 000 |
Итого: | от 5 000 000 |
Чтобы создать свое радио, нужно иметь внушительный стартовый капитал — порядка 5 млн. руб. Ваш проект не сразу начнет окупаться: сначала придется зарекомендовать себя в этой области как серьезную и интересную радиостанцию. Поэтому эксперты рекомендуют начинать радиобизнес с ретрансляции сетевых радиостанций раскрученных брендов.
Есть ещё вариант попробовать себя в радиобизнесе, не неся больших затрат, — интернет-радио. Похожие технологии работы, но затратная часть гораздо скромнее. В интернете есть сервисы, где любой желающий может создать свое интернет-радио.
Готовимся к работе
Если вы только приобрели сервер и ещё не настроили Debian, нужно убедиться, что система дружит с кириллицей. Мы ведь хотим, чтобы русские названия композиций отображались корректно.
Подключаемся к серверу и быстренько наводим порядок. Для начала устанавливаем обновления. В терминале пишем:
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.
И тот же вариант задайте по умолчанию.
Сервер настроен!
Как получать доход от своего радио
Бизнес-план радио должен включать в себя информацию о потенциальных источниках дохода. Одним из них является реклама производственных компаний и их товаров. Для того чтобы получать доход от этой деятельности, потребуется большое количество слушателей. Доход классической радиостанции зависит от территории охвата. В случае с интернет-радио необходимо самостоятельно заниматься раскруткой бизнеса, привлекая слушателей из социальных сетей.
Помимо рекламы, зарабатывать деньги можно при помощи различных конкурсов. Еще одним интересным методом заработка является озвучивание сообщений от слушателей в прямом эфире. Для этого предприниматель должен приобрести специальный номер для получения платных SMS.
Устанавливаем софт
Начнём с Icecast:
apt-get install icecast2
Вас спросят, хотите ли вы сконфигурировать программу. Отвечайте как угодно — окно с настройками всё равно не появится. По крайней мере, я ни разу не дождался его в Debian 9. Но это не критично.
Переходим к следующему шагу — обеспечиваем программе автозапуск. Для этого в любом текстовом редакторе (я использую nano) открываем файл:
nano /etc/default/icecast2
Это именно файл, просто разрешение не указано.
В самом конце находим параметр ENABLE. Важно, чтобы он имел значение true. Если видите false — меняйте. Дальше сохраняем файл нажатием CTRL+O и выходим из редактора (CTRL+X).
Настраиваем 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>https://Ваш.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>https://Ваш.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>
Как вы могли догадаться, точка autodj подключена, когда в эфире никого нет. Если в это время кто-нибудь у себя в проигрывателе откроет ссылку типа https://ваш-ip:8000/live, он услышит автоматическое вещание. Но стоит вам выйти в эфир с точки live — autodj отключится.
Если вы хотите ограничить доступ к настройкам Icecast, обратите внимание на блок changeowner. Здесь вы можете указать имя и группу пользователя, который вправе менять конфигурацию.
Осталось сохранить результат. С Icecast для первого раза достаточно. Теперь давайте позаботимся об автоматическом диджее.
Реклама радиостанции
Не стоит забывать и о рекламной кампании. Нельзя рассчитывать на слушателей, которые случайно поймают волну и останутся с вами навсегда. Хорошая рекламная кампания — это залог успешного выхода на рынок. Если о вас будут знать абсолютно все, вскоре появятся рекламодатели, а они — основной источник дохода, которые обеспечивают долгую жизнь радиостанции.
Вы можете использовать рекламу на других радиостанциях и на ТВ, контекстную рекламу в интернете (понадобится создать сайт радиостанции), наружную рекламу, рекламу на транспорте и у блогеров.
Возможно заинтересует: Готовый бизнес-план ювелирной мастерской
AutoDJ
Устанавливаем Liquidsoap из репозитория Debian — это легко, проблем возникнуть не должно:
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»,[«o[«ogv»,»oga»,»ogx»,»ogg»,»opus»]t(«decoder.mime_types.ogg»,[«a[«application/ogg»,»application/x-ogg»,»audio/x-ogg»,»audio/ogg»,»video/ogg»]t(«decoder.mime_types.mp3»,[«a[«audio/mpeg»,»audio/MPA»]>
Настраиваем отображение данных о записи: берём инфу из метатегов.
def update_title(m) = title = m[«t[«title»]title == «» or title == «Unknown» then content = m[«f[«filename»]tent = basename(content) content = get_process_output(«STR=\»»^content^»\»; echo ${STR%.*}») content = string.recode(out_enc=»UTF-8″, content) [(«[(«title», content)]e sArtist = string.recode(out_enc=»UTF-8″, m[«a[«artist»]itle = string.recode(out_enc=»UTF-8″, m[«t[«title»]«[(«title», sTitle), («artist», sArtist)] end set(«tag.encodings»,[«U[«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, [1, 5]n[jingle, music]dio = 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 — секунды. ]adio ]) 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=»https://ваш-url», description=»Вы слушаете BestRadio.»)
Всё сохраняем. Ура! Мы готовы тестировать радио.
Любуемся результатами
Запускаем сначала Icecast:
/etc/init.d/icecast2 start
Теперь Liquidsoap:
service liquidsoap start
Создаём у себя на компьютере текстовый файл и вносим туда строку вида:
https://ваш-ip:8000/autodj
Сохраняем файл с расширением .m3u и открываем его в аудиопроигрывателе. Если в папке Music лежат треки, радио должно играть.
На этом пока всё. Надеюсь, материал был вам полезен. Если хотите, чтобы я раскрыл какие-то темы подробнее, оставьте комментарий. А пока — успеха в запуске вашего радио!
Хотите свободно работать с Debian и другими дистрибутивами Linux? Приходите учиться на профессию «системный администратор», и через 9 месяцев вы не только освоите Linux, но и сможете обеспечивать бесперебойную работу компьютерной техники и ПО в любой организации!
» contentScore=»13160″>
Привет, я Антон Чигарёв, системный администратор. В этом посте я расскажу, как создать свою радиостанцию и вещать через интернет. Вы сможете организовать офисное, студенческое или просто частное радио, доступное по всему миру — в любом медиапроигрывателе. Статья рассчитана на новичков, которым нужно доходчивое руководство с нуля.
Небольшая предыстория. У меня есть проект Blind.games, посвящённый компьютерным играм для слепых людей. Это не только сайт, но и голосовой портал на базе TeamTalk, где собирается сообщество. Я, как и многие пользователи моего проекта, тотально слепой, но это не мешает мне интересоваться музыкой и системным администрированием. Периодически мы стримим игры, рассказываем о настройке программ, проводим встречи с интересными людьми. И нам нужно было своё радио, чтобы по расписанию транслировать записи передач, а в остальное время — музыку в случайном порядке, но без повторов. Так я получил опыт, которым сейчас хочу поделиться.
В этой статье я решил систематизировать и доступно изложить информацию, которую собрал из множества источников, проверил на практике и немного дополнил. Рассмотрим весь процесс создания радио: от первых шагов до прослушивания результата.
Юридическое оформление
Радиокомпания – это бизнес, который необходимо зарегистрировать. Государственная регистрация в данном случае допускает образование ООО или ИП, но для упрощения дальнейшего сотрудничества с компаниями–рекламодателями, лучше организовывать юридическое лицо. К тому же, индивидуальный предприниматель не имеет права на лицензирование, поэтому сможет работать только по договору с компанией, которая уже обладает вещательной лицензий, путем трансляции неискаженного радиосигнала.
После регистрации в налоговых органах и небюджетных фондах надо будет пройти еще несколько официальных процедур:
- регистрацию СМИ в Роскомнадзоре;
- разработку радиочастоты в местном отделении Главного радиочастотного центра;
- прохождение конкурсного отбора на радиочастоту в местном отделении ФСНССИТМК (при необходимости);
- получение разрешения на использование этой частоты в Роскомнадзоре и ее согласование с различными спецорганами;
- получение лицензии в Роскомнадзоре.
Перед обращением в Роскомнадзор для регистрации радиостанции нужно точно определиться с ее местоположением, используемым оборудованием, охваченным радиовещанием регионом и тематической направленностью своей деятельности.
Регистрация бизнеса
Открывать радио целесообразнее всего в статусе юридического лица, поэтому нужно сразу учреждать ООО. Для его регистрации потребуется предоставить в органы ФНС заявление с указанием соответствующих кодов ОКВЭД. Основным в данном случае будет код 60.10, разрешающий деятельность в области радиовещания, включая:
- самостоятельную подготовку или приобретение радиопрограмм;
- производство или приобретение прав на радиоканал;
- передачу эфирного, кабельного, спутникового, проводного вещания или через Интернет.
В качестве дополнительных рекомендуется указать следующие коды:
- 59.20 ‒ для звукозаписи на все виды носителей, производства рекламы и выпуска аудиопродутов, приобретения прав на музыку и рекламу с их использованием на радио,
- 61.20 – для трансляции радиоканалов и формирования их пакетов с последующим вещанием любыми беспроводными технологиями.
К заявлению прилагаются:
- протокол общего собрания с договором об учреждении или решение о создании ООО, если учредитель один;
- Устав общества;
- квитанция об уплаченной госпошлине;
- гарантийное письмо о наличии юридического адреса.
После завершения регистрации следует стать на учет в небюджетных фондах – пенсионном, медицинского страхования и соцстраха.
Регистрация СМИ
Далее необходимо зарегистрировать свою радиостанцию в качестве редакции, обратившись в Роскомнадзор. При радиовещании на один субъект РФ регистрацию проводят местные отделения, при охвате двух и более ‒ федеральные.
В заявлении указывается название станции, которое должно отличаться от остальных СМИ и не пересекаться с известными брендами. При выполнении данного условия и предоставления необходимых документов проблем с регистрацией обычно не возникает. Вся необходимая информация, включая перечень документации и названия всех зарегистрированных СМИ, есть на официальном сайте Федеральной службы по надзору в сфере СИТМК.
Получение частот
Следующий этап предполагает получение собственной FM–волны определенной частоты. Этот процесс происходит с участием следующих инстанций:
- Сначала следует посетить радиочастотный центр (ГРЧЦ), где проверят электромагнитную совместимость (ЭМС) выбранной радиоволны. Для этого:
- разрабатывается частотно-территориальный план;
- осуществляется согласование с Минобороны, ФСО и, возможно, с ФСБ;
- с учетом ответов этих органов подготавливается заключение экспертизы относительно того, не мешает ли кому-то частота, не создает ли шумов и получится ли на ней беспрепятственно вещать;
- если все нормально, то выдаются документы на закрепление частоты FM для радио;
- при отсутствии свободной частоты ее будут разрабатывать;
- при наличии конкурентов – объявят конкурс, который учреждается 2 раза в год (в городах с населением менее 200000 жителей его не проводят).
- Затем придется еще раз пойти в Роскомннадзор, чтобы на основании заключения об ЭМС получить разрешение на использование выбранных частот и лицензию.
- После этого надо снова обратиться в ГРЧЦ для получения позывного сигнала. Сделать это можно на сайте этого учреждения или просто отправить запрос по электронному адресу. Ответ подготавливается в течение 2–7 дней и тоже приходит на электронный почтовый ящик.
В завершение юридических процедур после тестирования в период временного вещания надо зарегистрировать в Роскомнадзоре ретранслятор (радиопередатчик) и получить последний документ ‒ разрешение на право открыть радио и заниматься коммерческой деятельностью.
Лицензирование
Получение двух лицензий ‒ вещательной и связной – это указанный завершающий этап юридического оформления своей радиостанции. Выдает их Роскомнадзор сроком на 10 лет, поэтому перед окончанием этого периода их надо продлевать.
Для беспрепятственного прохождения процедуры лицензирования и осуществления дальнейшей деятельности необходимо соответствовать требованиям законодательства в этой сфере (Постановление Правительства РФ от 08.12. 2011 №1025 «О лицензировании теле- и радиовещания»):
- быть зарегистрированным юридическим лицом;
- иметь статус редакции, подтвержденный уставом, или договор с такой редакцией;
- соблюдать параметры вещания, указанные в лицензии (территорию распространения сигнала, дату начала, объемы, среду, выделенные частоты, программную направленность и т. п.);
- предоставлять в Роскомнадзор информацию об операторах, с которыми заключается договор на радиотрансляцию, и лицах, распространяющих радиосигнал в неизменном виде;
- выполнять вещание исключительно на выделенных частотах;
- распространять обязательные сообщения, указанные в ст. 35 Закона РФ «О СМИ»;
- не нарушать законодательство РФ программным покрытием радиоканала;
- публиковать выходные данные станции.
Для получения лицензии в органы Роскомнадзора подаются следующие документы:
- заявление с указанием полного и сокращенного названия радиостанции, вещательной направленности, территории охвата, даты начала передач и дугой информации, включаемой в текст разрешения;
- сведения о владельцах предприятия или соучредителях редакции с редакционным уставом;
- при отсутствии статуса СМИ ‒ ксерокопию договора на осуществление вещания; подтверждение формы хозяйствующего субъекта и внесения в ЕГРЮЛ;
- справка ФНС о постановке на учет;
- квитанция об уплаченной госпошлине.
Документы рассматриваются не дольше 30 дней и если все в порядке, то выдается разрешение. Работать без лицензии можно только в одном случае: если передавать сигнал на договорных отношениях с фирмой, имеющей вещательную лицензию.
В целом, выполнение описанных выше юридических процедур обычно занимает 6–12 месяцев. Но только после получения всех документов можно приступать к вещанию. Причем начать его нужно обязательно в течение 1 года после лицензирования, иначе Роскомнадзор может аннулировать разрешение.
Кроме того, местные органы Роскомнадзора на протяжении всей деятельности будут регулярно проводить проверки относительно соблюдения лицензионных требований. Лицензия может быть временно отозвана не только в случае любых нарушений, но и при отсутствии вещания более 3 месяцев. Если причины отзыва будут устранены, это позволит восстановить разрешение и продолжать деятельность. В противном случае лицензия аннулируется.
Грабли, которые мы обойдём
Когда хочешь чередовать живое и автоматическое вещание, сведений из документации вдруг оказывается маловато. Например, сначала я не понимал, как запланировать регулярный выход передачи по определённым дням недели — допустим, по вторникам.
Потребовалось время, чтобы разобраться, как работают компрессоры и эквалайзеры. Думаю, этой теме можно посвятить отдельный пост.
Сначала я не знал, что Liquidsoap поддерживает работу с переменными. Примеры кода вы не раз увидите ниже.
Но главная проблема, которая никак не хотела решаться, — это невозможность автоматически выключить музыку с началом запланированной передачи. По умолчанию музыка становилась тише, но продолжала играть. Решение мне позже подсказал знакомый, а я пишу уже с учётом того, чтобы подобной ситуации не возникло.
Выбираем сервер
Не буду рекламировать хостинг-провайдеров, но хочу обратить ваше внимание на параметры, важные для работы интернет-радио.
- Поддержка аппаратной виртуализации. Советую брать сервер с KVM, потому что при контейнерной виртуализации (на Open VZ) могут возникать проблемы с Liquidsoap. Я с этим сталкивался.
- Дисковое пространство. Его должно быть достаточно, чтобы помимо ОС и софта уместить вашу музыкальную коллекцию, из которой автодиджей будет брать записи. Чтобы звук оставался качественным, записи лучше не сжимать.
- Оперативная память и процессор. Если вы планируете изредка вещать вживую, а остальное поручить программе, для стабильной работы понадобятся минимум 2 ГБ оперативки и двухъядерный процессор. Обычно Liquidsoap и Icecast не жадны до ресурсов, но когда надо запустить несколько станций или потоков с разным битрейтом, стоит брать сервер помощнее.
Как открыть радиостанцию в своем городе: пошаговый алгоритм
Радиостанция дает отличную возможность донести информацию до целевой аудитории. Вот что для этого нужно сделать:
- зарегистрировать юридическое лицо;
- подать заявку в Главный радиочастотный центр;
- разработать частоту вещания,
- пройти конкурс;
- подать заявку в Роскомнадзор;
- зарегистрировать радио как СМИ;
- получить все необходимые лицензии и свидетельства.
А также:
- арендовать помещение и отремонтировать его;
- разработать вещательную программу;
- закупить и установить оборудование;
- заключить соглашения с радиоцентром или создать собственный радиоцентр с нуля;
- провести рекламную кампанию для продвижения и популяризации новой станции в массах;
- нанять сотрудников;
- продумать программу вещания.
Готовимся к работе
Если вы только приобрели сервер и ещё не настроили Debian, нужно убедиться, что система дружит с кириллицей. Мы ведь хотим, чтобы русские названия композиций отображались корректно.
Подключаемся к серверу и быстренько наводим порядок. Для начала устанавливаем обновления. В терминале пишем:
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).
Настраиваем Icecast
Если у вас, как и у меня, не было возможности сконфигурировать программу в процессе установки, пора лезть в настройки. Все они хранятся в файле icecast.xml в директории /etc/icecast2/.
Многие параметры в этом файле прокомментированы — расскажу лишь о тех, без которых не обойтись на старте. За подробностями не грех заглянуть в официальную документацию, а если у вас появятся вопросы, я готов детально разобрать функции Icecast в отдельной статье.
Сначала проверим максимально допустимое число одновременно подключённых слушателей:
>100>
По умолчанию — сто, но ориентируйтесь на ширину канала вашего сервера.
В блоке authentication меняем все данные на свои. Параметру bind-address в качестве значения присваиваем IP-адрес нашего сервера.
Теперь внимательно смотрим на блок mount. Здесь мы пропишем точки монтирования для источников вещания. Это важный момент, без которого не смогут выйти в эфир наши диджеи, в том числе и AutoDJ.
В коде ниже я создаю несколько точек монтирования с индивидуальными параметрами:
> >/autodj> >ваш_пароль> >500> >3600> >/tmp/dump-live.mp3> >> >ISO8859-1> >1> >BestRadio> >Лучшее радио галактики.> >https://Ваш.IP:8000/autodj.mp3.m3u> >Other> >128> >application/mp3> >mp3> >65536> >4096> > > >/live> >ваш_пароль> >500> >3600> >/tmp/dump-live.mp3> >> >/autodj> >1> >1> >ISO8859-1> >1> >MyRadio> >Прямая трансляция.> >https://Ваш.IP:8000/autodj.mp3.m3u> >Other> >128> >application/mp3> >mp3> >65536> >4096> >
Как вы могли догадаться, точка autodj подключена, когда в эфире никого нет. Если в это время кто-нибудь у себя в проигрывателе откроет ссылку типа https://ваш-ip:8000/live, он услышит автоматическое вещание. Но стоит вам выйти в эфир с точки live — autodj отключится.
Если вы хотите ограничить доступ к настройкам Icecast, обратите внимание на блок changeowner. Здесь вы можете указать имя и группу пользователя, который вправе менять конфигурацию.
Осталось сохранить результат. С Icecast для первого раза достаточно. Теперь давайте позаботимся об автоматическом диджее.
Плюсы и минусы онлайн радио как бизнеса
Трансляция интернет-радио происходит по той же технологии, что и обычного радио, которое вы можем слышать из своих приемников. Разница только в том, что трансляция осуществляется посредством интернет-канала, а не радиоволн, как в случае в обыкновенным радио. И это дает вам, как предпринимателю, возможность неплохо сэкономить на стоимости необходимого оборудования. Это первый плюс. Для вещания интернет-радио необязательно оборудовать отдельный офис, и снабжать его дорогим студийным оборудованием. Для осуществления радио-трансляции нужен будет интернет. Скорее всего, он у вас проведен дома, поэтому и из дома вы сможете заниматься бизнесом. Это второй плюс.
Минусы в этом бизнесе есть, но связаны они скорее не с технической или финансовой стороной, а личностными качествами предпринимателя. Во-первых, радиоведущий должен быть разговорчив, коммуникабелен, харизматичен, иметь лидерские качества и уметь развлекать публику своей речью. Если в роли радиоведущего вы планируете выступать лично, но вы должны обзавестись этими качествами. Второй момент – радиостанция должна работать круглосуточно. Это, конечно, не обязательное условие, но очень желательное. Если в трансляции будут перерывы на выходной день или обед, то ваши слушатели могут потерять к вам интерес.
Также далеко не все радиостанции могут справиться с конкуренцией. В нише радиовещания она довольно высока. Поэтому просто запуск обыкновенного интернет-радио, «клона» уже множества существующих, вряд ли принесет вам успех. Необходимо находить свою фишку, давать слушателям что-то новое и постоянно подогревать их интерес. У кого-то это получается, у кого-то нет.
AutoDJ
Устанавливаем Liquidsoap из репозитория Debian — это легко, проблем возникнуть не должно:
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»,[«M[«META»,»MAD»,»OGG»]t(«decoder.file_extensions.mad»,[«m[«mp3",»mp2",»mp1»]t(«decoder.file_extensions.ogg»,[«ogv»[«ogv»,»oga»,»ogx»,»ogg»,»opus»]decoder.mime_types.ogg»,[«appli[«application/ogg»,»application/x-ogg»,»audio/x-ogg»,»audio/ogg»,»video/ogg»]decoder.mime_types.mp3»,[«audio[«audio/mpeg»,»audio/MPA»]>Настраиваем отображение данных о записи: берём инфу из метатегов.
def update_title(m) = title = m[«title[«title»]e == «» or title == «Unknown» then content = m[«filen[«filename»] = basename(content) content = get_process_output(«STR=\»»^content^»\»; echo ${STR%.*}») content = string.recode(out_enc=»UTF-8″, content) [(«titl[(«title», content)]rtist = string.recode(out_enc=»UTF-8″, m[«artis[«artist»] = string.recode(out_enc=»UTF-8″, m[«title[«title»]tl[(«title», sTitle), («artist», sArtist)] set(«tag.encodings»,[«UTF-8[«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],[[1, 5],[jingle, music]= 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 — секунды. ] ]) 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=»https://ваш-url», description=»Вы слушаете BestRadio.»)
Всё сохраняем. Ура! Мы готовы тестировать радио.
Разрабатываем алгоритм действий. Создаем блок схемы
В жизни нам часто приходится встречаться с различными ситуациями, в которых мы совершаем одни и те же определенные действия.
Для того, чтобы вовремя проснуться, нам нужно не забыть включить будильник. Для того, чтобы утолить свой голод, нам необходимо выполнить одни и те же действия по приготовлению вкусной пищи.
Для того, чтобы выполнить знакомую нам работу, мы тоже часто делаем одно и то же.
Такое поведение можно называть по-разному, смотря в каком контексте оно рассматривается. Если рассмотреть с позиции эффективности деятельности, то эти действия можно назвать привычками или навыками.
Если рассматривать с точки зрения отображения процесса, то описание последовательности действий, строгое исполнение которых приводит к решению поставленных задач за определенное количество шагов, называют алгоритмом действий.
Как создаются алгоритмы действий?
Мы постоянно сталкиваемся с этим в обычной жизни. Какие действия мы совершаем, чтобы пополнить счет своего мобильного телефона? Каждый из нас — разные.
Так как способов пополнения счета несколько, следовательно мы все по-разному это делаем. Результат, правда всегда один получается — появление средств на телефоне.
Или еще пример: чтобы скопировать картинку или текст, нажимаем правой кнопкой мыши на картинку, затем выбираем «Копировать», помещаем в нужное место, нажимаем правой кнопкой » Вставить», и результат достигнут.
Все это — определенная последовательность действий, в результате которых различными средствами решается поставленная задача.
Но пока это только наши знания, которые перерастают в навыки и умения, а если этот процесс описать, то мы сможем наглядно увидеть алгоритм наших действий, и передать его другим людям. На словах не все и не всегда понятно бывает.
Опишите последовательность действий — это запоминается
Создать алгоритм действий можно, описав или изобразив его последовательность.
Знают ли все, что надо сделать, чтобы посадить дерево? Возможно, основные шаги понятны всем, но вот когда деревце поливать, перед посадкой или после, помнит не каждый.
Созданный алгоритм позволит все действия выполнить в правильной последовательности.
Чтобы описать последовательность действий посложнее, придется постараться и подробно их все записать. Пример можно взять с всевозможных правил и инструкций — там очень четко прописываются по шагам действия, которые нам надо сделать.
Но бывают ситуации, в которых за определенным действие следует не один шаг, а несколько, в зависимости от предыдущего результата.
В таком случае, предположительные действия тоже записывают, чтобы человек мог легко сориентироваться в разных ситуациях, и знал, что нужно предпринять.
Алгоритм действий в графике — это блок-схема
Если изобразить алгоритмы действий в графическом варианте, с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения действия, то мы получим блок-схему. Блок-схема намного превосходит правила, инструкции, и записанные по порядку алгоритмы действий, по своей наглядности и читаемости.
Представьте, что вам нужно чему-то научить другого человека. Вы отлично знаете все действия в определенной последовательности.
Ваша задача — показать, как это нужно делать и передать свои знания так, чтобы другой человек их запомнил и знал так же, как и вы. Устная передача знаний допускает импровизации и некоторый произвол.
Самым лучшим способом будет блок-схема, в которой объясняется последовательность и возможные варианты действий. В качестве примера — веселое руководство по изучению блог-схем:
Лучшим условием для получения результата будет повторяемость действий. Это однозначно влияет на скорость достижения результата в будущем.
Чем чаще вам придется повторять одни и те же действия, тем быстрее вы научитесь выполнять последовательность действий, а значит в каждый последующий раз, вам потребуется меньше времени на выполнение.
Блок-схемы применяются в продажах
В продажах такое обучение с помощью разработки алгоритмов и изображения их в виде блок-схем имеет большое распространение. Чаще всего их используют в телефонных сценариях разговоров в call- звонков.
Корпоративная культура набирает обороты, поэтому многие компании уже не позволяют сотрудникам нести «отсебятину», даже талантливую, а предлагают действовать им по заранее разработанному сценарию, представляя «лицо фирмы» на различных этапах. Эффект появляется буквально после нескольких дней действий «по бумажке». Со временем, многое из описанных алгоритмов запоминается сотрудником, и в дальнейшем он свободно может общаться, не опасаясь того, в какую сторону может уйти разговор.
Алгоритмы действий и блог-схемы разрабатываются не только в продажах. Большое распространение они имеют в обучении и практике врачей, программистов, «компьютерщиков», у многих технических специальностей.
Стоит попробовать научиться действовать по подобным блок-схемам. Ведь впервые встречаясь с непонятным поначалу обилием действий и задач, думаешь о том, как тебе не хватает разработанной блок-схемы.
После долгих мучений не выдерживаешь, и начинаешь разрабатывать и создавать самостоятельно. Эффективные люди не любят простоев в делах.
А блок-схемы значительно упрощают жизнь и позволяют разобраться в решении сложных задач.
Сервисы для разработки блок-схем
В интернете есть сервисы, которые могут помочь вам создавать такие блок-схемы. Один из них — Сacoo.
С его помощью вам легко удастся превращать ваши алгоритмы в различные диаграммы, блок-схемы и графики.
Вы увидите, что это очень приятное и радостное занятие — преобразовывать то, что вам известно, в науку для других людей.
На этом онлайн-сервисе — хорошее настроение вам обеспечено.
На первоначальном этапе можно воспользоваться возможностями бесплатной учетной записи, а в будущем за доступ нужно будет платить.
Естественно, что бесплатный доступ имеет ограничения по сравнению с платными. Но для изучения и первых шагов, функционала вполне достаточно.
Разработав алгоритмы действий и преобразовав их в блок-схемы с помощью Cacoo, вы сможете надолго создать хорошее настроение не только себе, но и другим людям, постигающим азы.