Я хотел бы использовать VLC для потоковой передачи аудиофайла с сервера нескольким клиентам по IP-сети. И сервер, и клиенты работают под управлением Linux. Вот моя попытка для двух клиентов:

Команда сервера

cvlc test.mp3 --sout '#duplicate{dst=rtp{dst=10.0.0.2,port=5004,mux=ts},dst=rtp{dst=10.0.1.2,port=5004,mux=ts}}'

Команда клиентов

cvlc rtp://@:5004

Хотя музыка передается правильно, клиенты вообще не синхронизируются. Существует важный временной разрыв, который делает невозможным слушать. Это нормальное поведение? Я думал, что транспортный протокол в реальном времени может справиться с такими проблемами. Я что-то упустил в конфигурации? Или я должен взглянуть на другой протокол потоковой передачи?

Заранее спасибо.

1 ответ1

0

Как предложил Intenso в комментариях, лучший способ добиться этого - использовать многоадресный IP-адрес.

Команда сервера

cvlc test.mp3 --sout '#udp{dst=224.0.0.1,port=1234}'

Команда клиента

cvlc udp://@224.0.0.1:1234

Возможно, вам потребуется создать сетевые маршруты для подсети 224.0.0.0/14 как на сервере, так и на клиенте. Человек "маршрут" или "IP-маршрут". Если ваши клиенты находятся в нескольких подсетях, и вы не знаете, куда направить, посмотрите на это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .