できるだけ低遅延でウェブカメラのビデオをストリーミングする方法を探しています。品質と解像度はそれほど重要ではありません。
現在使用しているコマンドは次のとおりです。
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800,acodec=none}:rtp{sdp=rtsp://:8554/}'
動作しますが、LAN 経由では 2000 ミリ秒の遅延があり、これは大きすぎます。遅延を減らすために解像度や品質を犠牲にしても構いません。
VLCには以下のリストがありますコーデックしかし、結局遅くなってしまうのであれば、インストールに何時間も費やしたくありません。
答え1
遅延は、主にオーディオキャプチャをビデオと同期してオンラインで使用する場合、非常に問題になります。私の場合は、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}"