Синхронная потоковая передача музыки из 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 вы можете иметь клиентский плеер.