我想在远程房间放置一个 USB 网络摄像头。附近唯一的计算机是一台性能不是那么强大的 HTPC。我如何从主 PC 远程访问该网络摄像头?
HTPC 连接到投影仪,因此任何需要设置/启动的操作都可以通过远程桌面完成。理想情况下,它不会占用大量 CPU/内存,我希望只是进行一些 USB 到网络的直通设置。
我尝试使用 VLC,但使用远程桌面启动流似乎不起作用,并且转码占用了大约 30% 的 CPU。有什么建议吗?
答案1
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}'
然后将你的非 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
正在播放:
nc 127.0.0.1 5555 | mplayer -cache 1024 -
高度可调整。
相同,但使用 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/
带声音的更高级版本这里。