通过网络摄像头?

Rog*_*ger 1 networking webcam remote

我想在远程房间放置一个 USB 网络摄像头。附近唯一的计算机是一台功能不太强大的 HTPC。我如何从我的主电脑远程访问该网络摄像头?

HTPC 连接到投影仪,因此任何需要设置/启动的操作都可以使用远程桌面完成。理想情况下,它不会占用 cpu/mem 密集型资源,我希望只需要一些直通 USB 到网络的设置。

我尝试过使用 VLC,但是使用远程桌面启动流似乎不起作用,并且转码占用了大约 30% 的 cpu。有什么建议么?

Vi.*_*Vi. 5

VLC 示例(适用于 Linux):

cvlc -vvv v4l2:// --sout '#transcode{vcodec=mjpg,vb=2000,width=320,height=240,venc=ffmpeg}:duplicate{dst=standard{access=http,mux=mpjpeg,dst=0.0.0.0:5050/video.mpjpeg}'
Run Code Online (Sandbox Code Playgroud)

然后将非 IE 浏览器指向http://127.0.0.1:5050/video.mpjpeg

您可以使用 vlc 传输 mjpeg 以外的内容。如果计算机速度很慢,您需要尝试编解码器参数。您还可以使用 gstreamer(在 Linux 上)。


ffmpeg 示例(适用于 Linux):

ffmpeg -f video4linux2  -i /dev/video0  -vcodec libx264 -vpre ultrafast -b 1000k -f matroska -y /dev/stdout | nc -lp 5555
Run Code Online (Sandbox Code Playgroud)

播放:

nc 127.0.0.1 5555 | mplayer -cache 1024 -
Run Code Online (Sandbox Code Playgroud)

高度可调整。

相同,但使用 socat 和 HTTP:

socat tcp-l:5555,fork,reuseaddr system:'printf "HTTP/1.0\\\\x20200\\\\x20OK\\\\r\\\\n\\\\r\\\\n" && ffmpeg -f video4linux2  -i /dev/video0  -vcodec libx264 -vpre ultrafast -b 1000k -f matroska pipe\:1'
mplayer  http://127.0.0.1:5555/
Run Code Online (Sandbox Code Playgroud)

更高级的有声版本请点击这里

  • 请仅发布问题的*一个*答案。您也可以随时返回并编辑上一个。 (2认同)