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

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

 

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

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

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

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


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

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

0
15
bloodypastor @bloodypastor
Falcon пишет:

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

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

0
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
0
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) Т.е. заходишь - вводишь песню, по ней подтягиваются рекомендации и т.д. И уже много чего сделано, но еще больше всего нужно сделать. Поэтому для начала решил запустить стрим, да и идеи есть интересные :)

0
888
Falcon @Falcon
bloodypastor пишет:

Falcon пишет:

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

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

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

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

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

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

0
15
bloodypastor @bloodypastor
gyurgin_ пишет:

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

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

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

0
15
bloodypastor @bloodypastor
gyurgin_ пишет:

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

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

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

В папке icecast2 лежит один файл. Как только он стартует , я копирую сразу же новый файл в папку, но его не Ликвид не видит и заново повторяет первый трек.

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

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

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

Program? Какую еще программу? Может имелось ввиду скрипт, функцию? понятие "програма" - очень расплывчастое.
Далее как я понимаю это будет radio.liq файл
  1.  
  2. def my_request_function() =
  3. #В Get the first line of my external process
  4. result =
  5. list.hd(
  6. get_process_lines("playlist2.pls"))
  7. #В Create and return a request using this result
  8. request.create(result)
  9. end
  10. #В Create the source
  11. s = request.dynamic(my_request_function)

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

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

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.