Как стать автором
Обновить

Интернет-радио «Моминьмай»: будем знакомы

Время на прочтение11 мин
Количество просмотров7.5K

Здравствуй, Хабр!

Это моя первая статья здесь и сегодня я хочу рассказать о нашем необычном интернет-радио.
В этой статье будет ретроспектива, нынешнее состояние, планы на будущее. Немного философии по теме. Также коснусь технических деталей и приглашу к обсуждению.

Как мы размещаемся на "сервере" с 32 Мб оперативной памяти? Как мы выросли из пет-проекта одного человека до команды профессионалов, работающих на энтузиазме? Зачем и кому это вообще нужно?

Знакомство и ретроспектива

Позвольте представиться: меня зовут Артур, я программист и музыкант, основатель и исполнительный директор интернет-радио "Моминьмай".
Именно сегодня нашему радио исполняется 9 лет. Точную дату запуска установить вряд ли возможно, но мы условились считать таковой дату первого упоминания радио в посте моего микро-блога.

Я родился в семье кинооператора и моё детство прошло на донецкой студии телевидения. Там я на всю жизнь впечатлился эфирными медиа и усвоил принципы их создания. Редакции, пультовые, съёмочные павильоны, передвижные теле-студии — всё это было моим "вторым домом". И, хоть я выбрал позже путь программиста, любовь к эфирному медиа превратилась в хобби на грани IT и искусства.

Ещё на рубеже 1990-х — 2000-х в городской "локалке" ( г. Евпатория ) я держал своё первое радио. Эфир состоял то из музыки с моего жёсткого диска, то из коротких дайджестов городских новостей, то просто из ретрансляции FM-радиостанций. Всё это в программном плане осуществлялось связкой WinAMP + Shoutcast. В аппаратном - мой домашний компьютер + офисный микрофон + дешёвый китайский радио-приёмник, подключенный 3.5-"джеком" в line-in аудиокарты. Радио пользовалось местной популярностью: мне присылали композиции для дополнения плейлиста, просили передать приветы друзьям по "локалке" и уделяли особое внимание на общих офф-лайновых сборах. Я тогда казался обществу каким-то волшебником, а всего-то чуть больше остальных понимал как это работает и делился результатами собственных экспериментов.

Таким я был в далёком 2002-м году
Таким я был в далёком 2002-м году

В середине 2000-х я вернулся в Донецк чтобы учиться и впоследствии работать. В то время я продолжал интересоваться музыкой и историей развития эфирных медиа. И в 2012-м произошли два ключевых события, благодаря которым появилось радио "Моминьмай".

Первое из них — приобретение роутера D-Link DIR-620. На нём обнаружился один USB-порт, который предназначался в первую очередь для подключения 3G-модемов в качестве резервного канала. Но он же на родной прошивке позволял монтировать USB-накопители, причём даже с ext-файловыми системами. Telnet-доступ к роутеру так же существовал. После недолгого изучения доступных инструментов в прошивке на базе Linux я понял, что роутер вполне можно использовать как микро-веб-сервер. "Флэшки" на 512 Мб хватало для размещения с лихвой. Толку от такого "сервера" было немного. И так бы оно и осталось в виде эксперимента без особых выводов, если бы не второе событие.

Вторым оказался просмотр фильма "Рок-волна" ( "Boat that Rocked" ) На тот момент я знал многое о "пиратских радиостанциях" и, в частности, о "Радио Кэролайн" Но, одно дело — читать ретроспективу, а совсем другое — проникнуться "вау-эффектом" от замечательного фильма. Тут-то в голове и щёлкнула мысль: «А смогу ли я запустить интернет-радио на свободных ресурсах роутера?» Пара вечеров вдумчивого чтения документации, неделя оптимизации кода под конкретные условия — и, вот: для роутера собраны icecast2 и ices, которые сносно отдают OGG-поток в сеть. Роутер, тем временем, продолжал исполнять свои основные обязанности — раздавал Интернет по квартире.

Так выглядел наш первый сервер в 2012-м
Так выглядел наш первый сервер в 2012-м

Именно тогда и появилось радио "Моминьмай". Эфир состоял из относительно небольшого плейлиста, лежащего на той же "флэшке". Музыка воспроизводилась "24 / 7" и отбиралась в ротацию по принципу "что нам самим хотелось бы слушать". На тот момент моими единомышленниками и первыми же слушателями были моя супруга Наталья и мой друг Валентин ( привет, @Evolik ! ) Ни о какой аудитории мы поначалу не задумывались, делали "для себя" и "экспериментов ради".

Эксперименты заключались не только в формировании плейлиста, но и в техническом плане. На роутере было всего 32 Мб оперативной памяти и не слишком производительный процессор. При кросс-компиляции для него приходилось учитывать различные оптимизации, а весь бэкенд писался на shell-script. Да, на том, который !#/bin/sh (точнее — ash в busybox), а не на bash. Последний, как оказалось, был несколько тяжеловесен в плане памяти и процессора, когда речь заходит о сильно ограниченных ресурсах. Обо всех технических тонкостях, которые только смогу вспомнить, я обязательно расскажу в следующих статьях.

Для удобства я со временем зарегистрировал бесплатный домен от Freenom ( тогда ещё Dot-Tk ) и, спустя примерно год, обнаружил что радио вдруг стали слушать по всему миру. Мне писали из Калифорнии: «Чувак, я слушаю твоё радио утром в душе и в машине по дороге на работу! Круто! Вот тебе моя подборка — закинь в эфир если нравится.» Писали из Италии: Если тебе будет нужно "зеркало" — пиши, у меня есть свободные ресурсы.» А из Германии слушатель вообще прислал мне небольшой donation биткоином в размере $2.42 по курсу на тот момент ( в феврале 2021-го я его обналичил в $270 ) Радио неожиданно стало чем-то бóльшим, чем просто "пет-проект для своих". Мне нечаянно удалось повторить свою "локалку", но теперь ей был весь мир.

Я стал чувствовать ответственность за работоспособность радио перед слушателями. При отвале канала меня среди ночи будила моя самописная система, а я будил техподдержку провайдера, если была на то необходимость. Пивом на сисопках компенсировал, конечно. В 2013-м году лютая гроза не пощадила роутер. Будучи временно безработным, я потратил последние деньги на покупку такой же модели и возобновил вещание меньше чем за сутки. В общем, я стал владельцем и, в некотором роде, рабом собственного радио.

Мы тогда начали задумываться о прямых студийных эфирах, но нехватка времени и последовавшие известные события на Донбассе не дали тогда этим планам сбыться. В конце 2014-го радио было упаковано в сумку рядом с ноутбуком и переехало из Донецка в Одессу.

512-ти мегабайтная "флэшка" сменилась на 16-ти гигабайтную. Количество музыки в ротации достигло почти пяти суток. А я, как музыкант, познакомился в Одессе с клубом "Выход", в котором проводились еженедельные блюз-фанковые джемы. После недолгих экспериментов я предложил клубу в качестве личной инициативы вести прямые трансляции джемов на моём радио. Забирал звук с аналогового пульта, цифровал на ноутбуке клуба и слал потоком к себе домой, на роутер. Так на радио появились первые прямые эфиры, пока ещё "as-is", без ведущих.

Сервер радио сейчас (флэшка переходная только, 8 Гб)
Сервер радио сейчас (флэшка переходная только, 8 Гб)

В истории радио "Моминьмай" было ещё немало интересных случаев. Изо всех сил стараюсь не утомлять в первой статье, поэтому расскажу о них в следующих. А пока переходим к настоящему времени.

Нынешнее на нашем радио

И опять "лирическое отступление", уж простите. В 2018-м я познакомился с Татьяной Волошиной. Татьяна — председатель неприбыльной организации "Одесское Городское Общество Защиты и Охраны Животных", наш "Биг Босс". У организации есть арендованный офис в центре Одессы и совершенно нет ресурсов для его содержания и развития. Татьяна, зная о моих связях с культурной сценой Одессы, попросила меня организовать культурное пространство на базе офиса организации. Довольно скоро офис стал полу-подпольным ( в т.ч. буквально: мы находимся в полу-подвале ) музыкально-поэтическим клубом под названием "Рога и Копыта". А многие музыканты, поэты и художники Одессы стали волонтёрами общества. И "волонтёр", в этом случае, не только тот, кто занимается проблемами животных непосредственно, а и тот, кто помогает в обустройстве офиса-пространства и популяризации зоозащитного движения с помощью своего искусства в окружающем социуме. Мы организовывали музыкальные джемы и благотворительные концерты. Вокруг "общества" начала создаваться культурная среда. А в перерывах клали плитку в офисе и крутили сантехнику.

Наша импровизированная студия
Наша импровизированная студия

Наш коллега и единомышленник из Латвии, Нико, летом 2020-го вдруг предложил мне провести прямой эфир на моём радио и выступить в роли ведущего. Я начал своё обычное: "Ну-у, давай через пару дней попробуем...", на что получил резкое: "А почему не сейчас? Сколько тебе надо времени на подготовку?" Я сказал, что справлюсь за час. "Окей, ты ж с оборудованием мобильный, через час встречаемся на углу Дерибасовской и Екатерининской, оттуда ведём эфир" — ответил Нико.

Честно говоря, мне было страшно. Справимся ли? Не подведёт ли оборудование? Все опасения оказались зря: оснастка была "на высоте", а Нико показал себя отличным ведущим. Так появилась первая полноценная прямая передача на радио "Моминьмай" под названием "Эй, ты, подошёл!.." В эфире были байки от ведущих, живая музыка под акустическую гитару и саксофон, интервью с проходящими мимо одесситами и гостями города. Даже внезапные танцы от трёх пар профессионалов под наш разбитной рок-н-ролл! Наконец-то я ощутил, что моя мечта о создании прямых эфиров стала реальностью. И обрёл новых единомышленников, которые "загорелись" идеей радио.

Эфир на Дерибасовской / Екатериниской, Одесса
Эфир на Дерибасовской / Екатериниской, Одесса

Передача "Эй, ты, подошёл!.." просуществовала недолго. Но в 2021-м мы вернулись к прямым эфирам уже с опытом и уверенностью. Сейчас мы ведём передачу "Чёрная Кошка" раз в две недели по пятницам. В прямом эфире мы с гостями обсуждаем вопросы зоозащиты и экосистем, делая перерывы на живую музыку от одесских коллективов и исполнителей, приходящих в нашу "студию" на основе офиса организации.

В гостях у нас были замечательные зоозащитники Одессы, эксперт-криминалист Павел Плевинскис и даже знаменитый директор одесского зоопарка Игорь Беляков, который исполнил в прямом эфире песню собственного сочинения.

Типичный эфир передачи "Чёрная Кошка", в гостях Игорь Беляков (справа на фото)
Типичный эфир передачи "Чёрная Кошка", в гостях Игорь Беляков (справа на фото)

К нам со временем присоединились профессионалы своего дела — ведущие: Дмитрий Адамовский ( журналист, репортёр ), Андрей Мельник ( поэт, музыкант ), Марк Пан ( актёр театра ) Видеооператор и специалист по видеомонтажу — Ольга Махонько. Стажёр инженерно-технической части — Никита Трач. И музыканты Одессы, которые играют в прямых эфирах.

Люди, работающие на радио сейчас — энтузиасты. Мы не получаем зарплат и не монетизируем вещание напрямую. Всё, что у нас есть — собственное оборудование, которое сотрудники принесли на радио во временное пользование и немногочисленные донейты, которых едва хватает на сопутствующие накладные расходы. Ну и вложение собственных умений сотрудников, разумеется. Главное — нам всем это нравится: и тем кто делает, и нашим слушателям.

Стажёр внимательно стажируется
Стажёр внимательно стажируется

У такого "аскетичного" подхода есть как плюсы, так и минусы. Плюсами можно считать независимость ( от инвесторов, к примеру ) и низкие финансовые риски. А также некоторую экологичность подхода: мы используем ровно столько ресурсов, сколько действительно нужно. Минусы — сложность в разработке и сопровождении, технические ограничения в отдельных случаях.

Нам придётся расширяться. Уже запланированы другие интересные передачи, а это потребует более напряжённой сетки вещания и расширения штата. Привлечение редакторов и ведущих, дизайнеров, специалистов по ведению аккаунтов в социальных сетях и т.д. Нужно будет обновить парк техники. Ну, хотя бы заменить роутер на какой-нибудь микро-компьютер вроде пресловутой "малинки". Её, я уверен, нам хватит надолго.

Сейчас мы готовим краудфандинговую программу и пробуем подавать заявки на гранты по поддержке гражданских инициатив. Но мы определённо сохраним направленность на минимизацию необходимых ресурсов.

Я, образца 2021-го года
Я, образца 2021-го года

Некоторые технические детали

Основной и единственный сервер — роутер D-Link DIR-620 на относительно медленном канале в 100 мегабит. Поток — OGG/Vorbis, 127 Kbps.

Использование штатной прошивки не необходимость, а, скорее, "хакерская" лихость. Мне просто было интересно как далеко можно зайти с такими ограничениями. На каком-нибудь OpenWRT не так интересно.

Стабильность дополнительно обеспечивается CDN Cloudflare и сервисом ретрансляции интернет-радио Zeno.fm

Владимир экстренно приводит в порядок оборудование за 10 минут до эфира
Владимир экстренно приводит в порядок оборудование за 10 минут до эфира

В качестве студийного оборудования используются: пульт "Alesis MultiMix 8 FireWire", звуковая карта "Lexicon Alpha Studio", нетбук-трансформер "Asus TX201LA", различные электретные и динамические микрофоны.

Программное обеспечение: icecast2, ices, lighttpd, ffmpeg, OBS Studio, бэкенд на shell-script.

Немногочисленные данные хранятся просто в текстовых файлах. Какие-нибудь выборки на самом роутере не нужны, поэтому никаких движков баз данных мы не используем. Очень забавно при этом наблюдать в логах попытки просунуть SQL-иньекцию.

И ещё общей философии о радио

Мне часто задают вопросы о выборе именно такого формата вещания. Опишу своё видение на их основе и моих ответах. Я, разумеется, могу оказаться неправ и буду рад, если вы поправите меня в комментариях.

Радио-формат справедливо противопоставляется телевизионному. В случае с радио задействуется лишь звуковое восприятие, а телевидение требует визуального в том числе. При этом любое активное восприятие требует внимания от слушателя / зрителя. Внимание — ресурс ограниченный. В случае восприятия информации в аудиовизуальной форме, внимание будет неизбежно "размываться" между конкурирующими потоками. "Видео без звука" осталось в эре "немого кино" ( да и то в кинозале всегда играл музыку тапёр ) А, вот, "звук без видео" отлично существует до сих пор, как минимум, в форме подкастов и музыки.

Вдобавок я заметил и за собой и за друзьями тенденцию запускать студийные видео-эфиры на YouTube в фоновой вкладке и слушать только звук. Максимизируя: YouTube за рулём авто не посмотришь, а послушать что-то — вполне возможно.

А ещё для видео-стрима нужно не только хорошо звучать в студии, но и "выглядеть". Это требует хорошего света и оптики. И не каждый гость студии чувствует себя уютно при направленном на него объективе. Даже бывалые ведущие радио-эфиров со сценическим опытом несколько тушуются в таких ситуациях.

Собакена устраивает и слушать и выглядеть
Собакена устраивает и слушать и выглядеть

Ну и банальный технический вопрос: для аудио-трансляции хватает минимального оборудования и канала. А для видео обязательно потребуется обращаться ко крупным площадкам, что исключает независимость вещания. Известных случаев проблем с тем же YouTube достаточно. Да и я сам попадал под автоматический бан всего аккаунта без каких-либо нарушений с моей стороны. UPD: совсем недавно поймал "страйк" по совершенно не связанной с опубликованным видео причиной. Апелляция, впрочем, быстро помогла.

Как итог, мы сознательно отказались от видео-вещания и даже от ретрансляции радио через крупные сервисы. При этом во время передач ведётся фото-видео съёмка с моментальной публикацией в телеграм-канал радио удачных моментов. И выкладыванием на YouTube-канал отредактированного материала.

Теперь по поводу "Почему всё-таки прямые эфиры, а не запись подкастов?" Я считаю, что "золотой век" радио пришёлся на 60-е — 70-е годы прошлого века. Примерно в то время радиостанции перешли от дикторских новостей и радиоспектаклей в более "живую", интерактивную форму. Появились радиоведущие, гости эфиров и звонки в студию от слушателей. Как выяснилось, каждый хочет стать "звездой". Или побыть. Пусть даже в эфире небольшой локальной радиостанции. Подкасты менее интерактивны: можно, в лучшем случае, обсудить произошедшее в комментариях и попросить раскрыть тему в следующем эфире. А особая "магия" происходящего "здесь и сейчас" слушателю интересней.

Мы до сих пор не сделали возможность полноценно принимать звонки в прямой эфир, но уже близки к этому технически и это обязательно будет. И записи эфиров уже выкладываются в виде подкастов для тех, кто не успел послушать нас вживую.

Другой, часто задаваемый вопрос: "Почему интернет-радио, а не частотное?" У интернет-радио есть очевидные плюсы: "дальность" вещания определяется наличием доступа в Интернет у слушателя. Мы действительно вещаем на весь мир и не несём каких-либо дополнительных трат на это. Несмотря на то, что наши прямые эфиры русскоязычные, география прослушиваний действительно впечатляющая. Всё просто — русскоязычные диаспоры существуют почти в каждой стране.

Нико берёт интервью у мимо проходивших гостей города
Нико берёт интервью у мимо проходивших гостей города

В дополнение, получение лицензии на частотное радиовещание — это дорого для нас и налагает немаленькие обязательства. А мы позиционируем себя как независимое радио, помните?

В процессе мы немного похулиганили в разрешённом гражданском диапазоне частот, но лишь эксперимента и искусства ради. Быстро перестали, никого не разозлив. Всё ж радиолюбителей уважаем и больше так делать не будем.

Планы на будущее

Будущее всегда туманно. Планировать всегда тяжело. Но общая тенденция и желаемое направление у нас есть. Мы хотим стать по-настоящему независимым и интересным для слушателей радио. В ближайших планах повышение популярности и интерактивности. Улучшение качества звука ( этот процесс бесконечный ) и расширение сетки вещания за счёт увеличения количества передач и рубрик в них. Взаимная реклама одесских ( и не только ) музыкальных коллективов и нас. Продуктивное общение с IT-сообществом. И всё прочее, что только придёт нам в головы и что вы нам сможете посоветовать.

Наша "пиратская шхуна" расправила паруса и продолжает идти полным ходом по интернет-радио-волнам. Добро пожаловать на борт!

Эй, там, на палубе!..
Эй, там, на палубе!..

Позиция о пиратстве

Лично я и наш коллектив не считаем пиратство чем-то категорически плохим. Как музыкант и разработчик коммерческого ПО, я всегда искренне рад, если продукты моего труда распространяются на любых условиях. "Упущенную выгоду" не приемлю для себя и очень прохладно отношусь к ней в упоминаниях других.

Да, мы "крутим" в эфире много треков, на воспроизведение которых у нас нет прав. Но, во-первых, мы не получаем от этого прямой финансовой выгоды. А, во-вторых, благодаря этому мы создаём и свободно распространяем своё творчество.

Мы — пираты, но мы — честные пираты. Знаю, что это тема для возникновения порой острых и довольно паритетных дискуссий, но с радостью раскрою её в комментариях, если у кого-то возникнет желание.

I mean it!
I mean it!

Одесситам Хабра

Я знаю, вас много! Мы будем искренне рады видеть вас у нас в гостях. С удовольствием обсужу IT-шные, и не только, вопросы. Расскажу интересные байки за кружкой чая, или ещё чего. Пишите в комментариях или в личные сообщения.

Конечно же, гостей города будем тоже рады у нас видеть!

Большое спасибо

Хочу лично поблагодарить @RusakovMxL за совершенно неожиданное приглашение в полноправные пользователи Хабра. В частности оно меня сподвигло на написание первой статьи. Я очень ценю этот аванс и изо всех сил постараюсь оправдать доверие.

А также @Exosphere за оперативную и замечательную рецензию черновика статьи.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
О чём бы вы хотели почитать дальше?
42.39% О самописном бэкенде на шелл-скрипте39
33.7% Об аналоговом роутинге звука и тонкостях работы с пультом / микрофонами31
53.26% Об устройстве софта для вещания49
45.65% Об организации передачи в прямом эфире «от» и «до»42
20.65% О культурно-музыкальной сцене Одессы19
45.65% О байках и всяких случаях42
1.09% О том, что попрошу в комментариях1
Проголосовали 92 пользователя. Воздержались 16 пользователей.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 34: ↑32 и ↓2+41
Комментарии26

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань