Estoy buscando una manera de transmitir un video de una cámara web con la menor latencia posible. La calidad y la resolución son mucho menos importantes.
Este es el comando que estoy usando actualmente es:
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800,acodec=none}:rtp{sdp=rtsp://:8554/}'
Funciona pero tiene un retraso de 2000 ms en una LAN que es demasiado alto. Estoy feliz de sacrificar la resolución o la calidad para reducir el retraso.
VLC tiene una lista decódecspero no quiero pasar horas intentando instalarlos si terminan lentos.
Respuesta1
La latencia es un gran problema principalmente cuando se utiliza la sincronización de captura de audio con el vídeo en línea. Para mi trabaja con elcódec theoEstoy usando este códec para controlar la resolución de transmisión. La implementación de este códec es nativa en casi todas las compilaciones de VLC. En tu caso, puedes configurar mediante este formulario:
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}"
donde XXX es la resolución e YY es la escala, ejemplo:
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}"