视频监控搭建
本来想用 python 来做的,但是 VLC 串流不知道是不是设置的问题,视频采集是正常的,但是接收端接收到的视频一团糊,在无意间知道了 mjpg-streamer 这个项目,GitHub 地址:https://github.com/jacksonliam/mjpg-streamer。
安装方法参照GitHub:
1 | sudo apt-get install cmake libjpeg8-dev |
安装完之后就可以直接启动了:
1 | ./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so" |
默认使用8080端口,浏览器打开地址:
1 | http://192.168.0.103:8080/?action=stream |
就能实时查看树莓派摄像头采集到的视频。
外网访问
在局域网内,直接访问树莓派的 ip 地址就能查看视频,但是如果想从外网访问的话,还需要做点手脚。
使用 frp 反向隧道进行内网穿透。
先分别在vps 和树莓派上安装frp 服务:
1 | wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz |
解压上面下载的文件。
服务器端配置文件:
1 | 进去目录 |
树莓派配置文件:
1 | 1.进去目录 |
依次启动服务器端的 frp,树莓派视频采集,树莓派端 frp。
1 | ./frps -c ./frps.ini |
然后打开浏览器访问:http://xxx.xxx.xxx.xxx:9000/stream.html ,不知道是不是因为 VPS 在国外的原因,延迟有3 s 这样子。。
注意:树莓派只能运行 arm 架构的 frp(树莓派frp)。