Как уменьшить задержку - VLC Streaming с веб-камеры - PullRequest
16 голосов
/ 03 февраля 2012

Я транслирую видео и аудио с моей веб-камеры / микрофона по UDP. Когда я смотрю поток (даже на одной машине), задержка составляет около 4 секунд. Я попытался установить для параметра UDP Cache значение 0 или 1, но, похоже, это не помогло. Я пытался уменьшить скорость передачи видео и аудио, используя монозвук и частоту дискретизации, но безрезультатно.

У кого-нибудь есть идеи, как я мог бы уменьшить задержку, чтобы она лучше подходила для видеоконференции, т.е. <1 секунда? </p>

Есть ли настройка, которую я могу применить к зрителю / стримеру, которая может помочь?

Спасибо

Марк

Ответы [ 3 ]

9 голосов
/ 13 февраля 2012

Если вы используете протокол RTSP для потоковой передачи видео / аудио, вы можете настроить задержку на

tools-> settings-> all-> input / codecs-> demuxers-> RTP / RTSP-> значение кэширования

tools-> settings-> all-> input / codecs-> demuxers-> RTP-> RTP длина буфера устранения дрожания

5 голосов
/ 25 мая 2015

Попробуйте это.

#!/bin/sh
ETH=eth0

cvlc --miface=$ETH v4l2:///dev/video0 :input-slave=alsa://hw:0,0 :sout=#transcode{vcodec=h264,venc=x264{preset=ultrafast,tune=zerolatency,intra-refresh,lookahead=10,keyint=15},scale=auto,acodec=mpga,ab=128}:rtp{dst=224.10.0.1,port=5004,mux=ts} :sout-keep >/dev/null 2>/dev/null &
vlc1=$!
vlc  --miface=$ETH rtp://224.10.0.1 >/dev/null 2>/dev/null &
vlc2=$!
wait $vlc2
kill -9 $vlc1

У меня 2-секундная задержка с веб-камерой 720p, производительность около 2,5 Мбит / с и загрузка для одного ядра ~ 30%.

3 голосов
/ 13 февраля 2012

В моем исследовании потоков VLC с веб-камерой я получил задержку 2-3 секунды для многоадресного потока UDP, транскодированного с помощью контейнера WMV / ASF + кодека WMV2 с интегрированной веб-камеры Dell Creative с размером видео cif .

При использовании контейнера MP4 / MOV + кодека H.264 я получил вдвое большую задержку с теми же настройками в битрейте, fps и масштабе.

Я отключил звук в обеих настройках потоковой передачипоскольку меня это не интересовало.

Я провел исследование с двумя версиями VLC:

  • VLC 1.1.11 (последняя стабильная версия Windows)
  • VLC2.1.0 (последняя версия для ночной сборки)

С первой версией я мог транскодировать и транслировать с веб-камеры, но он не мог правильно воспроизводить поток (он только давал затемненный видеопоток)

Со второй версией он хорошо работал для транскодирования, потоковой передачи и воспроизведения.

Это исследование было проведено:

Intel Core 2 Duo T7250
4GB DDR2-667 SDRAM 
SATA 7200 RPM HDD
GeForce 8400M GS 128MB GDDR3 (+ 128MB shared memory = 256MB video memory)
Windows XP Pro SP3
...