HYPERADIO beta 3

В начале года, вроде бы, принято подводить итоги прошедшего и строить планы на текущий, давайте попробуем.

Итак, в 2016 году база треков HYPERADIO была вычищена, практически каждый трек протегирован, что в будущем позволит в автоматическом режиме генерировать плейлисты любой длительности по критериям из тегов. Все треки (опять же по возможности) поименованы по шаблону %Artist% — %Tittle%. Сейчас в базе чуть больше 5,5 тысяч треков. Можно было бы увеличить это число одним махом до десяти тысяч, как минимум, но я стараюсь исходный трек добавлять в наиболее приемлемом качестве и с максимально прописанными тегами, названием и автором. Это требует времени. Сейчас основной упор идёт на добавление AY треков со спектрума, благодаря чему в трансляции мы слышим всё больше музыки с нашего любимого спекки.

Добавление каждого трека со спектрума проходит примерно вот такой путь:

1) экспорт из нативного формата (stc, pt, pt2, pt3, ft, asm и др.) в psg
2) рендер wav с помощью ayumi
3) небольшая корректировка частот, компрессия и сжатие в MP3\OGG в Audition
4) прописывание тегов в MP3 утилитой из состава AIMP3
5) собственно, заливка треков на компьютер, который выступает в качестве сервера с зеркалированием в облако
6) прописывание тегов в базе RadioBoss

Софтовая часть на сервере очень простая — это Icecast2 + RadioBoss + ЯндексДиск.

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

Теперь о не очень приятных моментах:

Если софт показал себя с лучшей стороны, то с «железом» всё не так хорошо. Изначально всё работало на моём домашнем «рабочем» компьютере, что доставляло некоторые неудобства, но позволяло оперативно отслеживать все проблемы. На этапе тестирования этот вариант был вполне себе не плох. Но после того, как полетел первый жесткий диск с треками и базой радио и в конце концов сгорел блок питания, я решил что пора переносить сервер на своё «железо». Благополучно переехав на временный компьютер с не очень мощной начинкой на c2d/2GB/500GB, сервер кое-как проработал какое-то время, но стал доставлять некоторые неудобства своим размером и шумом. В таком виде он просуществовал какое-то время и вновь начались проблемы с жестким диском и нестабильной записью\чтением. Сервер снова переехал на старенький ноутбук Acer5542g/4Gb/500GB, купленный по случаю. Воцарилась тишина и удобство примерно на полгода ;) Потом и эта «железка» стала отказывать, судя по всему отслоение чипов моста и видеокарты. Пережив пару прогревов и шаманства сервер HYPERADIO теперь выглядит примерно вот так:

hyperadio server

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

В 2016 году были вот такие затраты:

3800р. — покупка годовой лицензии на RadioBoss
400р. — договор с провайдером на выделение IP
99р. — оплата доменного имени
30*12=360р. — оплата постоянного ip (помесячно)

Минимальные затраты составили 4389р.

Собрано на donate: 3465р.

Затраты на железо:

Замена HDD, замена БП, покупка подержанного ноутбука обошлось порядка 7000р.
Оплата интернет канала за год 700*12=8400р.
Оплата электричества 47вт/ч — примерно столько потребляет сервер, за год около 410кВт по местному тарифу в 3,62р получается приблизительно 1480р. за год.

21000р за всё удовольствие. Посчитали — прослезились ;)

И вот, за небольшой промежуток времени, буквально за несколько суток до нового года пришли новые пожертвования — 3305р. Эта сумма забронирована и отложена на приобретение нового оборудования под сервер.

Тогда я был очень удивлён, но теперь я понимаю, что этот всплеск был искусственно рождён в комментариях в небезызвестном топике «троеточие». И понятно негодование и непонимание донаторов, когда вскрылся (может быть и теперь еще) не совсем понятный смысл, ну да ладно. Собственно, если донат не был направлен на поддержку HYPERADIO, то я верну каждую сумму, если мне в личку сообщите дату и сумму перевода. Ну а если есть желающие поддержать и поддерживать далее вещание HYPERADIO, то любые суммы будут в помощь и очень кстати.

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

Может быть это слишком избыточно, но выбрана конфигурация в корпусе от Luna-design с соответствующей начинкой.

luna-design server

На такой конфигурации можно будет «крутить» не только сервер вещания и управляющую программу, но попробовать хостить как саму страничку радио, так и попробовать посадить бота для telegram, чтобы можно было в интерактивном режиме запрашивать какую либо мета-информацию (название текущего играющего трека, получать сам файл, запрашивать конкретные треки в вещание, ставить оценки трекам и т.п.). Ну и размер, охлаждение, тишина — тоже весьма немаловажные требования для сервера на домашней полке.

Годовая лицензия на RadioBoss в 2017 году закончилась, тем не менее сама программа работает, с правом использования старой версии без будущих обновлений. Думаю, что обновлять её пока смысла нет. Затраты в этом году будут только на «железо», оплату постоянного ip, оплату интернет канала и электричество.

Я совершенно не в курсе, сколько могла бы стоить поддержка интернет-радио на стороннем сервере и насколько это удобно в плане администрирования. Но совершенно точно могу сказать, что вещание и управление радио буквально в шаговой доступности — это очень и очень удобно.

Уже сейчас можно в считанные секунды добавить в текущий плейлист любой трек, имеющийся в базе. Мало того, протестирован и хорошо зарекомендовал себя способ добавления треков через общую папку в ЯндексДиске от любого пользователя с доступом к общей папке. В следующий раз я обязательно расскажу, каким образом можно просто и удобно залить свои треки на добавление в базу HYPERADIO, имея всего лишь учётку в яндексе.

Уже сейчас возможна трансляция любых прямых аудио-включений прямо в поток. Было протестировано вещание из зала на CC2015. На недавнем DiHalt 2017 lite транслировалась музыка с HYPERADIO и было очень просто добавлять в плейлист те или иные треки в нужные моменты. Если бы я знал об использовании HYPERADIO заранее, то вполне можно было бы подготовить какие-то тематические плейлисты и поставить их в план проигрывания в конкретное время.

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

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

Hyperadio telegram chan

Hyperadio donate

28 комментариев

avatar
Спасибо, дядя Илья, за выкладку!
Хорошее дело должно быть хорошо поддержано, предлагаю тебе завести под это дело на регулярной основе тут вестничек: обновил базу — отписал, сделал какие-то апдейты по железу, по тарифу и всему, что имеет отношение к радио — аналогично, народ ведь реагирует, когда о проблемах говорят!
А смена железа, да с поддержкой добрых людей, напрямую связана с жизнью радио. Так, глядишь, и до тематических передач дойдут руки, как мы когда-то мечтали :)
avatar
Вот, обещал отчитаться через год. Отчитался ;)

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

Какие-то серьезные изменения конечно же будут тут, ну или в бложике новостей.
avatar
Ну, хотя бы раз в полгода, чтобы поднабрать новостей, а то ведь так и до следующего #… недалеко
avatar
Еще целый год до следующего «...»!
avatar
А вот, кстати, может ссылку на канал более заметной сделать? Я только из этого комментария узнал, что он существует.
avatar
Я конечно не знаю реальной нагрузки или может быть чего-то не понимаю, но почему нельзя арендовать какой-нибудь дроплет, да хотя бы на Digital Ocean, которые начинаются от $5/mo? Единственным ограничением является то, что RadioBoss только под Windows платформу, но я думаю, что под Linux точно есть альтернативные OSS аналоги.
avatar
Это ограничение, да. А еще хранилище на 160+ гигабайт + трафик 1,5-2 гигабайта в месяц.
Вот что предлагает DO, например. Куда вписаться? И как поставить win?


Даже на DO (не самом дешёвом, кстати) что там за 5$ предлагается?


В принципе, можно ужаться, если выбросить треть треков и пережать всё в 128kbps. Но как быть с управляющей программой? Альтернативы наверняка есть. Хотелось бы точно такую же по возможностям и удобству управления.
avatar
Ошибочка, трафик — 1,5-2 гигабайта в сутки.
avatar
Но как быть с управляющей программой? Альтернативы наверняка есть. Хотелось бы точно такую же по возможностям и удобству управления.
IceS, DarkIce и наверное еще с десяток. Для хранения еще можно посмотреть на Amazon S3 и другие сервисы AWS.
И как поставить win?

Ну тут я не советчик, хотя я когда-то и имел опыт с серверами на Windows, но в данном случаи это сильное ограничение, как по вариантам размещения, так и по требованиям.
avatar
IceS и DarkIce даже рядом не альтернативы, вообще.
avatar
Самый близкий по функционалу — Sam Broadcaster, но выбор в итоге всё равно не на него. Есть еще Djin Lite. И обе они под win ;)
avatar
не надо 128kbps. готов задонатить денюжку, подарить память ddr3 dimm (2x4gb) или sodimm (2х2gb) на развитие проекта
avatar
Хорошенькие у нас запросы для радиовещания! Ужели радиобосс такая жручая софтина?
Я помниться хотел подарить готовый конфиг на Atom для этой цели — вроде предлагал когда то…
И где, кстати стоимость лицензии на винду уж тогда?
И чего кстати железо то дохнет так — место заколдованное чтоли?
avatar
RadioBoss не жрущий практически, Icecast тоже в принципе. На атоме будет медленее генерировать плейлисты и совсем медленно обрабатывать базу, но жить будет.

Лицензия на винду есть и она была куплена не для радио, просто перешла по наследству ;)

А вот железо дохнет пачками т.к. всё крутилось на уже подержанных железках. Но винты конечно юзаются очень неплохо. Надо брать что-то помедленнее, но понадёжнее. Статы постоянно пишутся, в каждый файл проигранный прописывается мета информация + в базу, при генерации сильно винт задействован. Раньше плейлисты генерировались почти каждый час: час спектрума, час атари, час xm-треки, час MmcM ))) Сейчас в сутки генерируется всего 2 плейлиста. Думаю, на новом железе будет в автономном режиме работать несколько лет без проблем.
avatar
тога уж SSD сеерверный нужен :)
базу на Atom я и не предлагаю обрабатывать можно все подготовить на рабочем компе и перебросить на вещательный
avatar
База полностью обрабатывается один раз в сутки.
avatar
тогда уж еще и оперативки побольше, чтобы можно было, например, использовать рамдиск для некоторых задач (все же хоть у ssd сейчас ресурс неплохой, но эффективность использования тоже должна присутствовать ;)
avatar
Да, базу можно размещать на рамдиске, например. Но если рамдиск вдруг упадёт или не восстановится после экстренной перезагрузки, то будет ой.
avatar
можно периодически (раз в два\три дня, например) сбрасывать данные с рамдиска на винт/ssd; если железо работает стабильно в течение долгого времени, то данный вариант как раз подойдет
avatar
А, да, еще RadioBoss немного обработкой занимается, громкость треков нормализует, чтобы на выходе громкость сильно не скакала от трека к треку + кроссфейды + определяет тишину в начале и конце треков и автоматически отрезает. Ну, короче, чуть-чуть занимается интеллектуальной предобработкой перед озвучиванием и передачей в эфир.
avatar
Насчет организации вещания: предлагаю такой расклад.
Вещание идет действительно с выделенной машинки, с виндой, радиобоссом и хранилищем треков, но icecast к которому подключаются клиенты да и веб хостится размещен на выделенной площадке. то есть на него поступает один поток и выходят несколько клиентских. Такое решение позволит забыть хотя бы про плату за ip и возможно доменное имя.
я кстати не понял как вы тут подсчитали трафик. Он будет: ширина одного слушателя * число слушателей.
при чем тут вообще хранилище — его что постоянно все туда сюда перекачивают?
в качестве вещательной машины достаточно Intel stick с большой флешкой для треков. У него и винда лицензионная :) и жрет он заметно меньше
avatar
Я думал про стик, но думаю не справится и память быстро отвалится. Интересно было бы протестировать так-то.
avatar
Разделять сервер вещания и программу вещания большого смысла нет. Трафик посчитан примерно по текущим ежедневным логам. Естественно, при сотнях клиентов будет и трафик расти. Но этого не будет никогда ;) А если и случится, то переместится лишь Icecast вообще на любую площадку, хоть на retroscene, трафик с нюком как-нибудь оплатим. Но управляющая программа всё равно останется на железке под боком.
avatar
Ну и оплата ip и доменного имени — это копейки, по сравнению с железом.
avatar
Выделенный IP не нужен. Есть бесплатные динамические DNS. Например: www.noip.com/free
avatar
Уже наигрались с динамикой. Плохо.
avatar
Странно. У меня целые конторы сидят и никаких проблем. Там TTL минута, какая разница — статический или динамический?
avatar
Конторы круглосуточно и беспрерывно вещают онлайн?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.