VLC потоковый тестовый стенд

2410
Vineet Menon

Кто-нибудь пробовал потоковое мультимедиа с VLC в качестве сервера? Я хочу развернуть VLC как потоковый сервер, но у моего отдела не было хорошего опыта с потоковой передачей VLC .

Мой вопрос: кто-нибудь пробовал потоковую передачу VLC по локальной сети с целых 200 клиентов? Какие меры предосторожности нужно было предпринять, прежде чем идти на фактическое вскрытие? Какой вид транспортного потока лучше для более плавного потокового вещания?

Можно ли использовать какой-нибудь испытательный стенд, чтобы убедить своих начальников?

0

1 ответ на вопрос

0
Claudio

В то время как я разрабатывал DVR для конкретной цели, я проводил множество потоковых тестов h264, в основном используя ffmpeg в качестве сервера и VLC в качестве проигрывателя. Цель была несколько иной, поскольку мне просто нужен был способ предварительного просмотра четырех камер ( устройства v4l2 ) в реальном времени, поэтому я закончил потоковую передачу видео h264 напрямую через UDP, но в процессе исследования я также использовал VLC в качестве сервера, так что, возможно, это может служить отправной точкой для вашего испытательного стенда.

Предполагая, что вы используете Linux в качестве серверной платформы, в командной строке ниже используется клиент командной строки VLC ( cvlc ) для получения необработанного видео с устройства v4l2 (веб-камера или вход видеокарты), кодирования его в h264 и последующего объявления потока для клиент RTSP для получения:

cvlc v4l2:///dev/video0 --sout '#transcode:rtp' 

Если вы также используете VLC в качестве клиента, вы можете просмотреть поток с помощью этого ( сервер будет именем сервера или IP-адресом):

vlc rtsp://server:8554/video.sdp 

Поскольку вам необходимо передавать видео многим клиентам, было бы лучше использовать многоадресную рассылку, чтобы вашему серверу не приходилось отправлять новый поток для каждого подключенного клиента. Предположим, что ваш многоадресный адрес - 239.255.1.1, вам просто нужно указать его в разделе RTP:

cvlc v4l2:///dev/video0 --sout '#transcode:rtp' 

Поскольку файл video.sdp генерируется самим VLC, вы просто подключаетесь так же, как и раньше, но вместо этого ваш клиент получит поток с адреса многоадресной рассылки:

vlc rtsp://server:8554/video.sdp 
Я проверил потоковый сервер VLC с HTTP-транспорта. Мне не удалось связаться с 100 клиентами. Кажется, он перестает работать после того, как я достиг 80 клиентов ... Я также выпустил билет с ошибкой на http://trac.videolan.org Vineet Menon 11 лет назад 0
Вы пытались использовать многоадресную рассылку? Claudio 11 лет назад 0
Если вы направили всех 100 пользователей на свой сервер, каждый из которых создавал дублирующийся поток, вам, вероятно, просто не хватило пропускной способности. Для такого рода приложений должно быть многоадресное вещание. Claudio 11 лет назад 0
я использовал гигабитный Ethernet ... я перепробовал все комбинации ... пропускную способность, процессор, память ... все ... но это не так !! Vineet Menon 11 лет назад 0
Хорошо .. дело не в машине. В зависимости от скорости передачи видео даже гигабитный Ethernet не может справиться с дюжиной дублирующих потоков. Вы специально пытались использовать многоадресную рассылку? В этом режиме вы только отправляете ** один ** видеопоток с вашего сервера, и маршрутизатору удается реплицировать этот только поток всем клиентам, которые его запрашивают, поэтому у вас никогда не будет узкого места на выходе вашего сервера. Ваши 100 или около того клиентов были в одной подсети? Claudio 11 лет назад 0
я постоянно следил за работой сети .. Это не было узким местом в сети ... Это происходило даже тогда, когда я передавал аудио в формате mp3 ... Теперь, потоковое воспроизведение mp3 не потребляет больше пропускной способности, чем 256 кбит / с ... Кстати, я был одноадресный поток, а не многоадресная передача ... Vineet Menon 11 лет назад 0
В любом случае, вы пытались увеличить номер клиента? Vineet Menon 11 лет назад 0
Ну, там, где я работаю, у меня недостаточно рабочих мест, чтобы расширяться. Но я поэкспериментировал с многоадресной передачей, и она работает, пропускная способность сервера остается неизменной для 1, 2 или 3 клиентов, а для одноадресной передачи она увеличивается при каждом новом подключении. Claudio 11 лет назад 0
you don't need so many machine...try running a vlc client with vout=dummy, codec=dummy option, so that cpu is not consumed..and now you can run multiple instances of vlc client on a same machine..I used 20 machines to simulate 100 clients....vlc will take the stream but will discard it without showing it on screen Vineet Menon 11 лет назад 0

Похожие вопросы