Синхронная потоковая передача музыки из mp3-файла через сервер nodejs + socket.io

Так что у меня есть mp3-файл на моем сервере.

И я хочу, чтобы все мои клиенты, которые посещают этот URL, слушали эту музыку синхронно.

То есть.

Допустим, файл воспроизводится в течение 6 минут.

Я начинаю песню в 10:00

Запрос, поступающий в 10:03, должен начать прослушивание с 3-й минуты песни.

Все мои клиенты должны слушать песню синхронно.

Как я могу добиться этого с помощью nodejs и socket.io

1 ответ

Решение

РЕДАКТИРОВАТЬ: Если вы хотите сделать именно то, что спросили, ответ по ссылке будет гораздо лучше:

/questions/44533258/uzel-soket-zhivoj-audiopotok-translyatsiya/44533287#44533287

Мой оригинальный ответ теряет преимущества мультикастинга ipv4.


То, что вы ищете, является потоковым.

Преимущества, добавленные к использованию потоковой передачи (в отличие от каждого клиента, имеющего собственное открытое соединение), особенно заметны по мере роста базы слушателей, но канал продолжает использовать ту же пропускную способность. В противном случае у вас возникнут проблемы с пропускной способностью.

Потоковая передача является протоколом (как http), и вы можете проверить список потоковых серверов здесь.

Очень популярным (и бесплатным) потоковым сервером является IceCast.
И с небольшим Flash вы можете иметь клиентский плеер.

Другие вопросы по тегам