我正在尋找一種以盡可能低的延遲傳輸網路攝影機視訊的方法。品質和解析度遠沒有那麼重要。
這是我目前使用的命令是:
cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=mp4v,vb=800,acodec=none}:rtp{sdp=rtsp://:8554/}'
它可以工作,但在 LAN 上有 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}"