ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Интернет-радио с динамическим плейлистом

 

15
bloodypastor @bloodypastor
Всем привет, это мое первое сообщение здесь, не будьте строги. Я сам веб-разработчик пытаюсь сделать интернет-радио.
Радио простое, но немного специфическое. Здесь не будет заранее подготовленных файлов музыки, только один. Когда песня будет доигрывать до конца, динамически загрузится следующий файл.

Вижу это примерно так:
1. Пользователь зашел на сайт типа (например ********** играет музыка все ок
2. Когда музыка проиграла 50%+ веб-сервер (NodeJS) отправляет новый файл в папку с музыкой.
3. Когда музыка закончила играть icecast (или что-то другое) включает следующий файл в папке с музыкой.

Вопросов у меня несколько:

1. Какой инструмент для аудио-стрима лучше всего использовать с динамической загрузкой файлов по ходу эфира? Если такое вообще возможно? icecast, radioboss? Или еще что-то?
2. Какой недорогой сервер выбрать для аудио-стрима? Посмотрел leaseweb - цены дороговаты да и не нужны мне 4 теребайта жесткого диска.
Есть что-то дешевле для таких задач? Поскольку планирую записывать/удалять файлы, то и места под хранилище много не нужно. Бюджет до 30$/месяц.
3. Как посчитать, какая необходимая мощность для такого радио на 10/100/1000 человек?


Задача вроде простая, но подобного я никогда не делал и сидя два дня в гугле, все меньше и меньше понимаю как его реализовать.

888
Falcon @Falcon
Зачем такие сложности?
Используйте уже готовые решение, которые вполне входят в ваш бюджет.
**********

15
bloodypastor @bloodypastor
Falcon пишет:

Зачем такие сложности?
Используйте уже готовые решение, которые вполне входят в ваш бюджет.
**********

Нету АПИ для загрузки файлов

245
radio_good @radio_good
Когда песня будет доигрывать до конца, динамически загрузится следующий файл.

1)- откуда музыка будет грузиться?
2) откуда она будет грузиться - там какое кол-во песен будет лежать и в каком порядке? Выбираться будет также - случайным образом ?

ваша задача подходит под стандартную обычную связку шарманки на icecast и Liquidsoap

вот как это сделать: habrahabr.ru/post/156591/

или с ices habrahabr.ru/post/131116/

бюджет вполне хороший ... иди на проверенные и стабильные VDS Москвы или Питера ... reg / timeweb и другие.

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

Задача вроде простая, но подобного я никогда не делал и сидя два дня в гугле, все меньше и меньше понимаю как его реализовать.
твоё радио сводиться к тому что на нем ничего делать не нужно- минимум трудозатрат. Но до тебя уже такое радио давно изобрели Яндекс, Гугл и куча других сервисов по проигрыванию музыки из браузера .... Один только Яндекс.Музыка половину всей интернет аудитории любителей послушать радио - переманили к себе ...
р/хостинги со своей кучкой школьников нервно курят в сторонке ругая данные бесплатные сервисы радио ..

Отредактировано radio_good - 19.04.2018
15
bloodypastor @bloodypastor
radio_good пишет:

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



ваша задача подходит под стандартную обычную связку шарманки на icecast и Liquidsoap

вот как это сделать: habrahabr.ru/post/156591/

или с ices habrahabr.ru/post/131116/

бюджет вполне хороший ... иди на проверенные и стабильные VDS Москвы или Питера ... reg / timeweb и другие.

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

Задача вроде простая, но подобного я никогда не делал и сидя два дня в гугле, все меньше и меньше понимаю как его реализовать.
твоё радио сводиться к тому что на нем ничего делать не нужно- минимум трудозатрат. Но до тебя уже такое радио давно изобрели Яндекс, Гугл и куча других сервисов по проигрыванию музыки из браузера .... Один только Яндекс.Музыка половину всей интернет аудитории любителей послушать радио - переманили к себе ...
р/хостинги со своей кучкой школьников нервно курят в сторонке ругая данные бесплатные сервисы радио ..




1)- откуда музыка будет грузиться?
2) откуда она будет грузиться - там какое кол-во песен будет лежать и в каком порядке? Выбираться будет также - случайным образом ?

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


бюджет вполне хороший

Это стеб? Или серьезно? Под сайт я смотрел есть хорошие варианты и по 10$ как для начала, но вот по стриму наверное нужен специфический хост и цены повыше будут.

твоё радио сводиться к тому что на нем ничего делать не нужно- минимум трудозатрат.

Изначально идея была проигрывать песни с ютуба (обычным способом - через iframe) Т.е. заходишь - вводишь песню, по ней подтягиваются рекомендации и т.д. И уже много чего сделано, но еще больше всего нужно сделать. Поэтому для начала решил запустить стрим, да и идеи есть интересные :)

888
Falcon @Falcon
bloodypastor пишет:

Falcon пишет:

Зачем такие сложности?
Используйте уже готовые решение, которые вполне входят в ваш бюджет.
**********

Нету АПИ для загрузки файлов

При должном желании и договоренности мы может запросто это реализовать.

15
bloodypastor @bloodypastor
При должном желании и договоренности мы может запросто это реализовать.

Ответьте в личку, ну или здесь

419
gyurgin_ @gyurgin_
Да вы что - минут на 15 работы даже с ютубом и replaygain, берете ********** и лепите. Другое дело что идея дрянь, и исполнитель ищет в гугле...

15
bloodypastor @bloodypastor
gyurgin_ пишет:

Да вы что - минут на 15 работы даже с ютубом и replaygain, берете ********** и лепите. Другое дело что идея дрянь, и исполнитель ищет в гугле...

За ссылку спасибо. А в чем дрянь то? И где искать, если не в гугле? В Чебурнете?

419
gyurgin_ @gyurgin_
Искать для начала надо у себя, задумали youtube использовать - не годная идея изначально качать видео и играть аудио, но, протестируйте сперва, сколько это времени занимает, ресурсов, вобще каков процент попадания на битый или защищенный файл и решите как это обыгрывать. Если это не решено то и делать нечего. Дальше прыгаем - почему б.. т после какого то момента готовим следующий трек?? Чего ждем? Сразу как сменились убедились что новый зиграл лепим следующий чтоб на момент запроса если уж не готов был так хоть в процессе хоть и известно что либо будет либо надо срочно позарез готовить замену. Радио ждать не будет... А про чебурнет я не знаю что это такое))

15
bloodypastor @bloodypastor
gyurgin_ пишет:

Искать для начала надо у себя, задумали youtube использовать - не годная идея изначально качать видео и играть аудио, но, протестируйте сперва, сколько это времени занимает, ресурсов, вобще каков процент попадания на битый или защищенный файл и решите как это обыгрывать. Если это не решено то и делать нечего. Дальше прыгаем - почему б.. т после какого то момента готовим следующий трек?? Чего ждем? Сразу как сменились убедились что новый зиграл лепим следующий чтоб на момент запроса если уж не готов был так хоть в процессе хоть и известно что либо будет либо надо срочно позарез готовить замену. Радио ждать не будет... А про чебурнет я не знаю что это такое))

та об этом не беспокойтесь, протестирую. Локально это занимает очень мало времени, конечно в реальности на живом сервере будет задержка, как вариант - наперед загружать 2 файла. Это будет потом и это я найду как решить.
Зачем такое делать? Как сделаю, тогда и оцените - дрянь или не дрянь. База уже есть, логика за малым, осталось только радиовещание завести и все, сайт готов.

Сейчас уперся в то, что Liquidsoap не видит новых файлов в папке. Сейчас просто запускаю его в консоли.
user@user-VirtualBox:/etc$ liquidsoap 'out(playlist("icecast2"))'
В папке icecast2 лежит один файл. Как только он стартует , я копирую сразу же новый файл в папку, но его не Ликвид не видит и заново повторяет первый трек.

419
gyurgin_ @gyurgin_
Я вроде ссылку дал и там все понятно... Liquidsoap доигрывает один и у Вас спрашивает новый файл. Логика за малым... где в Ваших действиях логика? Одкуда ему знать что что то изменилось? Не тупим.

15
bloodypastor @bloodypastor
А почему бы и не должен знать? Если он допустим перед каждой новой песней смотрит папку и видит новый файл, то может воспроизвести его. Или это что-то из разряда фантастики? Может это и не реализовано, но могло бы быть и реализовано. Ничего космического. Вы же когда копируете файл с одной папки в другую, его там сразу видно, не нужно же перезапускать компьютер. Вполне ожидаемо что и здесь так будет. А вы сразу: не тупим.

Вообще кому как, мне там мало чего понятно. Даже не знаю с чего начать.
This function, of type ()->request, can for example call an external program.

Program? Какую еще программу? Может имелось ввиду скрипт, функцию? понятие "програма" - очень расплывчастое.
Далее как я понимаю это будет radio.liq файл

def my_request_function() =
#В Get the first line of my external process
result =
list.hd(
get_process_lines("playlist2.pls"))
#В Create and return a request using this result
request.create(result)
end

#В Create the source
s = request.dynamic(my_request_function)

В playlist22 будет написан список песен,а мне потом что дописывать вручную новые песни в тот файл?

15
bloodypastor @bloodypastor
Вообще для человека, который второй день вообще узнал о существовании icecast, liquid, документация - просто застрелиться

419
gyurgin_ @gyurgin_
get_process_lines("my_script my_params")) Вы же вроде хотели nodejs, пожалуйста - лепите запрос, ток cli, на выходе путь к файлу.
А вобще т читать надо с начала и все будет понятно))