Я ищу способ транслировать видео с веб-камеры с минимально возможной задержкой. Качество и разрешение гораздо менее важны.
Вот команда, которую я сейчас использую:
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800,acodec=none}:rtp{sdp=rtsp://:8554/}'
Работает, но задержка по локальной сети составляет 2000 мс, что слишком много. Я готов пожертвовать разрешением или качеством, чтобы уменьшить задержку.
VLC имеет списоккодекино я не хочу тратить часы на их установку, если в итоге они будут работать медленно.
решение1
Задержка является большой проблемой, в основном при использовании синхронизации аудиозахвата с видео онлайн. Для меня работает стео кодек, Я использую этот кодек для управления разрешением передачи, реализация этого кодека является родной почти для всех компиляций 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}"