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

Комментарии 41

Очень странная ситуация.
По идее, одного сервера должно хватить. Самое прожорливое — это енкодинг (в среднем ядро на поток).
Подсказка, nginx+ffmpeg+icecast
Ээээ… грустно это, действительно не понятно зачем весь этот огород.

Существует замечательное, недооцененное, стабильно работающее (проверенное временем) решение в виде «Liquidsoap». Который все транскодирует на лету, в придачу полноценное управление плейлистами, джинглами, своим (довольно приятным) языком программирования сетки вещания. Возможностью навешивания сервисов типа голосования, стола заказов и т.п. А уж после него ставь icecast на горизонтальной архитектуре масштабирования серверов и… все! Вопрос только в канале (но судя по посту, 3 Гбит/сек довольно серьезная цифра).

При этом мониторинг (я уж не знаю требований в данном случае) в виде «работает нода фермы или нет» делается ну буквально за день программистом со знаниями протокола HTTP (заголовки, что да как).
Тут довольно странная для IT ситуация — всё то что вы написали про liquidsoap мы прекрасно знали, но вот незадача — он нам не нужен в рамках эфирной радиостанции. Все его «плюшки» в виде программирования, управление плэйлистами, джинглы и т.д. в рамках полноценной эфирной радиостанции выполняет профессиональный софт — ротатор/scheduler + playout. То есть, у меня не было задачи в формировании потока, была задача — уже сформированный поток привести к «божескому» виду и возможности массового потребления. Единственное отличие от того, что вы предлагаете сделать на liquidsoap было в том, что уже имея сформированный «поток» он был не MP3 или что-то ещё, а AES или аналог. Теперь по поводу сжатия и FM обработки (FM processing) — готов отписать отдельную маленькую статью, но по сути он реально нужен. Сжатие — тут будет ещё сложнее, большинство инженеров, музыкальных и программных редакторов страдают «аудиофилией» в большей или меньшей степени. Они чётко услышат разницу в сжатии разными MP3 и AAC кодеками. Доходит иногда до смешного — они готовы обсуждать оттенки выраженности тех или иных частотных характеристик у каждого из кодеков. Поэтому, как вы выражаетесь — весь этот огород был нужен. Тут ещё нужно учесть одну особенность, есть такое понятие в среде инженеров обслуживающих радио и телевиденье, как broadcast решение. Оно означает или сильную зарезервированность, или крайне простое и надёжное решение. По сути, как правило, мы строим что-то по надёжности приближающееся к подводной лодке, но без 100% резерва. Часть задач могут быть не зарезервированы вовсе или иметь холодный резерв, но они никогда не являются ключевыми.
Про мониторинг — вы скорее всего правы и спорить или оправдываться бессмысленно, но я не программист вообще, ну не более простеньких shell скриптов, а программисты способные это сделать в этой организации были загружены на 200%.
Вот как-то так.
Но спасибо за коммент, честно не ждал такого количества просмотров. Сильно мотивирует дальше писать более системно и развёрнуто, для лучшего понимания broadcast решений.
>ротатор/scheduler + playout

Империя?
Не совсем вас понял, извините.
Нет.
Был на всех радиостанциях RCS www.rcsworks.com/en/ версия была старая, но вполне себе рабочая. Но из-за его подписного сервиса лицензирования, т.е. платежи каждый квартал и всё такое, несмотря на его удобство начали процесс перехода на другой софт. Выбор стоял между DigiSpot tract.digispot.ru/ или Synadyn www.synadyn.com/text.php?id=6. В качестве scheduler рассматривались варианты PowerGold www.powergold.com/ и Digiton Rotator www.synadyn.com/text.php?id=7. Итог — при мне мы перевели 2-е из пяти радиостанций на связку PowerGold + DigiSpot, но закончить перевод всего комплекса мы не успели. Насколько я знаю сейчас все станции холдинга работают на PowerGold + DigiSpot, кроме единственной чисто интернет радиостанции.
спасибо за ответ
Дигиспот = Джин от компании Тракт. Сами на нем работаем, как и ЕМГ, РМГ и многие другие холдинги в стране.

А поверголд тоже продается по подписке, платить ежегодно, так что непонятно от чего уходили и к чему пришли.
Объём платежей. Он не сопоставим с PG.
Купили бы Ротатор от Дигитона, он без подписки, или Маг от Тракта. Поверголд тоже совершенно недешевый
Ротатор не устроил по ряду параметров наших музредов. На Маге, хмммм, давайте Вы уж сами на нём как-нибудь поработаете. PG по сравнению с RCS это сущие копейки.
А кто Вам сказал что мы Маг используем? На PG и работаем. Прекрасный софт, своих денег стоит, хоть и немалых. А селектор давно себя изжил уже в России
Далее сигнал в формате MP3 отправлялся не совсем прямо — для каждой из радиостанций, а их было 5, формировался поток в 256 kbit/s
…и транскодировал их в дополнительные (64, 96, 128, 320)
«Аудиофильское» состояние души отказывалось понимать объективную реальность.
Это для вас смешно, а для аудиофила есть разница ))))
Для любого человека смешно, из 256 получается 320.
Аудиофилы не транскодируют 256кбит/с в 320кбит/с. Качество от этого не улучшится, а ухудшится.
Да и дело не только в битрейтах. перекодировать формат с потерями(lossy) — кощунство.
Хотите устроим слепое тестирование)))) при этом указав ширину потока для слушателей, но не сказав, что источник один? Вот я посмотрю, как вы будете устраивать в сторонке facepalm. Ещё раз повторюсь, я прекрасно всё понимаю, НО долбанная вводная «исторически сложилось» меняет представление о реальности.
Речь не идет об обычных слушателях. Речь о сотрудниках компании — профессиональных аудиофилах, различающих на слух кодеры (не говоря уж о битрейтах). И вот эти вот сотрудники, ведомые своей филией, хотят отстоять битрейт 320 перекодированный из 256.
Очень печально читать про такое. Ощущение, что у людей какая-то деградация потребности в качественном звуке.
Ваше решение лучше, хотя бы тем, что оно работает. В остальном — одни facepalm-ы.

— мониторинга нет (любой сисадмин обмажет мониторингом за пол дня-один день)
— крайне неудачный выбор битрейтов: 128 & 64 kbit/s MP3, 56 & 48 kbit/s AACv2+. (Тут, наверное, и без пояснений всё понятно — 64 никто не будет слушать, а 56 и 48 между собой не особо отличаются)
— резервные каналы для региональных радиостанций в 128 kpbs? без комментариев
— балансировка через dns (21-й век на дворе, где anycast? где haproxy? где ipvs?)
— в icecast сам по себе протокол примитивный, в 2013-м году я бы попробовал организовать вещание через hls, из минусов разве что задержка чуть больше(в зависимости от размера чанка), в остальном — одни плюсы — простота протокола; легкость построения cdn, меньше ресурсов(не удивился если бы всё поместилось в один сервер), нативная поддержка под iOS и android. (http://en.wikipedia.org/wiki/HTTP_Live_Streaming#Supported_players_and_servers).
Мониторинг опускаю — не причина для споров.
Битрейты — тут решение одновременно и компромиссное и функциональное, разница между 56 AACv2+ и 48 AACv2+ есть, называется она parametric stereo, всё что выше 48 она просто не включается. 64 MP3 — ХА скажу я вам, порядка 7% слушателей сидели на нём и не жужжали, хотя прекрасно понимаю, что это странное решение с их стороны, но однако же. Для нас было важно постараться не потерять уже существовавших клиентов и новых приобрести. Тут нужно учитывать фактор «исторически сложилось» и отсутствие финансирования на задачу.
Резервный канал — для регионалов формировалась 256 потоки, просто статья не об этом и эту мелочь опустил.
Балансировка DNS — принципиально она не нужна, целиком и полностью согласен, при такой архитектуре обычно балансируют ещё смешнее — pls файлы. У меня такой возможности просто не было. К слову, и HAproxy и иже с ними — единая точка отказа, потоки несколько великоваты, как мне кажется, но это уже скорее проще обсудить в личке. Я не настолько силён в HTTP highload.
HLS — нагрузка не самая большая проблема, её можно было разнести и на один сервер и какое то время так и делали на icecast, основная проблема — отсутствие масштабирования, как такового, плюс резервирование, его там нет. Второе — icecast я знал и как на нём построить подобную схему понимал чётко. Что делать с HLS, кристального понимания не было, хотя о протоколе знал, но всё равно спасибо. Нативная поддержка — и для icy она тоже нативна. Anycast — а смысл? Точка нахождения всей «фермы» один ЦОД. Но за мысль спасибо, буду думать как строить на похожей архитектуре географически разнесённые решения.
7% не так уж и много, если легаси — ок. По мне так, самые ходовые битрейты — 128 mp3, 64 aac, 48 aac+ и для пользователей мобильного интернета 32 aac+.
Лень дальше обсуждать, но назвать HLS немасштабируемым и нерезервируемым?! Это же идеальный случай и для первого, и для второго.
К слову, и HAproxy и иже с ними — единая точка отказа

это не так. особенно, если использовать ipvs + direct routing.

потоки несколько великоваты

20Gbit/s — легко.

в 2013-м году я бы попробовал организовать вещание через hls

простите, а как?

hls — это mpeg-ts, порезанный на куски.
а что мешает передавать в нем только audio без видео?
технически — ничего. просто mpeg-ts для этого избыточен + большой вопрос в каком кодеке это аудио положить.
вот по вашей же ссылке сразу 2 кодека.

и большой вопрос чем играть hls в браузере.

имхо, для аудио проще с обычным progressive download.
проще — да, лучше? не факт.

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

минус, очевидный: винамп не играет хлс
В статье много воды и почти никакой конкретики.

1. Что за холдинг такой, что при загрузке каналов в 3 гбит/сек и максимальном битрейте в 128 кбит/сек у вас уже свыше 21 тысячи слушателей? Это не ВКПМ, это не РМГ, а у остальных крупных игроков (ЕМГ, Крутой Медиа и НМГ) таких цифр сроду никогда и не было.
2. Статья о чем? Динамическую обработку сигнала не сделали, резервирование не сделали (фолбек в айскасте не считаем, это не резерв) — упадет один из серверов и что? Часть слушателей просто отпадет и не подключится, пока записи в ДНС не обновятся (и то спасибо раунд-рубину)
3. На платной Омнии свет клином сошелся? Да и без IP Драйверов для Livewire от Аксии — вам не ввести сигналы в омнию. Есть бесплатный, например, StereoTool — прекрасно справляется с задачей программного процессора. Да и тот же ВКПМ уже давно готовит сигнал уже у себя в аппаратных, на спутник подается ровный обработанный сигнал
4. 56 и 48 кбит/сек в аас+ действительно нет разницы. Сделайте 64 и 32 кбит. Также можно развивать Ogg — например в 160 или 192 кбит/сек. Европа+ вон в 256 кбит дают поток в мп3.
5. Про то, что айскаст распределяет каждый маунт на отдельное ядро — бред еще тот. Есть пример 2ядерной машинки, на ней работает айскаст kh, на нем работают 7 (!) маунтов, на некоторых по 5к слушателей — все прекрасно работает. Просто отлично)
6. Балансировка через файлы плейлистов Pls — без комментариев. Это не броадкаст решения, это примитивизм…
1) ММХ — ещё нужно отвечать? В пике по 16-17 к. клиентов днём по всем радиостанциям.
2) Динамическая обработка сигнала — в статье чётко указано «Вынуждены были в итоге городить огород с аппаратными FM процессорами найденными на складе, древними как ммм, ну вы поняли».
3) На платной Omnia свет несомненно не сошёлся клином, но профессионально сделать процессинг бесплатной версии StereoTool вы не сможете, а если сможете результат будет явно другим нежели у Omnia. Плюс, стоимость в 17тр не Бог весть что для крупного холдинга, как я думал в начале. ВКПМ — кто вам сказал про ровный звук на спутник?
4) Без комментариев
5) Какая частота каждого ядра этой «мега» машинки?
6) Примитивизм — БЕЗ СОМНЕНИЯ! Нет бюджета — нет броадкаст решения, не мне Вам объяснять.

Такое впечатление что задел за живое или как минимум обвинил Вас лично во всех смертных грехах? Или конструктив или ничего. По вашей статье про региональное радио у меня тоже масса вопросов, особенно по поводу стоимости применённых решений и их целесообразности. Однако я их не задал, я просто прочитал и поставил для себя «галочку» — можно сделать и так, и люди делают и довольны.
1. 94.25.53.134 — ровно 3005 слушателей, время — прайм
2. А для чего?
3. Расскажите, как в платной версии с FM «прибамбасами» (типа КСС, РДС, и прочее) вы сделаете звук «профессиональнее»? www.stereotool.com/ — тут можно увидеть КОНКРЕТНЫЕ отличия бесплатной и платной версий
4. Вам выше не я один это отметил
5. Вы же про количество ядер говорили, при чем здесь частота? Ядер 2, процессор не самый свежий Пень. А вообще — 2.7 ГГц
6. Когда нет контраргументов — начинается переход на личности.
7. Про региональное радио я никогда и ничего не писал. Про интернет-станции — да. Успешно работают, к слову.

ПО ВКПМ — я там работаю, к слову, поэтому и знаю какой сигнал на спутниках.
Не поленился, посчитал полосу текущую — около 320 мбит/сек при 3005 слушателей на всех маунтах. Это в 10 раз меньше чем 3 гбит/сек
Значит Мамонтова вы должны знать, он был моим начальником в ММХ.
Остальные сервера по mp3.nashe.ru посмотрите, всё увидите сами. Прайм это около 13-14 часов, сейчас идёт набор слушателей.
я по домену и смотрел — именно 3к слушателей.

Прайм уже в 13 наступает, а осталось полчаса. С 3к до 17к как то сложно набрать аудиторию за полчаса, поверьте.
Всё в личку, больше комментировать не буду.
Не будете или нечем уже?

Хотелось увидеть более информативную статью, а не выпячивание собственного Эго
Хотя, увидел. 2 сервера — со 132 по 134 включительно. Слушателей сейчас — чуть менее 11900. С этим прекрасно справился бы и один сервер с 2мя портами, либо 2 по 1 гбит. Маунтов тоже много — 19 на каждом сервере. У вас 19-ядерная машинка?
вернее 4 сервера, как Вы в личке и указали. В этом ошибся
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории