VLC を使用した低遅延ビデオストリーミングにはどのコーデックを使用すればよいですか?

VLC を使用した低遅延ビデオストリーミングにはどのコーデックを使用すればよいですか?

できるだけ低遅延でウェブカメラのビデオをストリーミングする方法を探しています。品質と解像度はそれほど重要ではありません。

現在使用しているコマンドは次のとおりです。

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}"

ソース:https://forum.videolan.org/viewtopic.php?t=101547

関連情報