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

Это команда, которую я сейчас использую:

cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800,acodec=none}:rtp{sdp=rtsp://:8554/}'

Он работает, но имеет задержку 2000 мс по локальной сети, которая слишком высока. Я рад пожертвовать разрешением или качеством, чтобы уменьшить задержку.

В VLC есть список кодеков, но я не хочу тратить часы на их установку, если они заканчиваются медленно.

1 ответ1

3

Задержка является очень серьезной проблемой, в основном, при использовании синхронизации захвата аудио с видео онлайн. Для меня работает с кодеком theo, я использую этот кодек для контроля разрешения передачи, реализация этого кодека является родной почти для всех компиляций VLC. В вашем случае вы можете установить с помощью этой формы:

cvlc v4l2:///dev/video0 :v4l2-standard= :live-caching=1000 :sout="#transcode{vcodec=theo,vb=XXX,fps=30,scale=Y.Y}:rtp{sdp=rtsp://:554/test}"

где XXX - разрешение, а YY - масштаб, например:

cvlc v4l2:///dev/video0 :v4l2-standard= :live-caching=1000 :sout="#transcode{vcodec=theo,vb=300,fps=30,scale=0.2}:rtp{sdp=rtsp://:554/test}"

Источник: https://forum.videolan.org/viewtopic.php?t=101547.

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