2.基于树莓派+mjpg+frp+阿里云服务器的远程监控

基于树莓派+mjpg+frp+阿里云服务器的远程监控

环境:树莓派3B+
系统:2018-04-18-raspbian-stretch
摄像头:USB摄像头
软件:mjpg-streamer
云服务器:CentOS
内网穿透工具:frp/ssh反向隧道

一般的,树莓派无线连接的是内网,不可以被外网访问。要想把摄像头的视频数据被外网访问,需要有一台外网服务器,这里博主使用的是阿里云的CentOS云服务器(学生免费一个月使用)。mjpg-streamer使用的是8080端口,所以我们要把内网的8080端口转发出去,需要用到的有ftp/ssh反向隧道

步骤

1.安装mjpg-streamer并测试局域网下的视频监控
2.搭载云服务器
3.外网访问搭建
服务器安装frp
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
tar -zxvf frp_0.20.0_linux_amd64.tar.gz


树莓派安装frp
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gz
tar -zxvf frp_0.20.0_linux_arm.tar.gz


4.楼主使用的是frp内网穿透,另一种方法同样可以达到远程监控效果——ssh反向隧道,两者效果差不多,不过博主用frp觉得更稳定,使用ssh需要搭载云服务器中的配置端口,frp省去这一步骤

服务器frp配置

进去目录

vi  frps.ini

[common]
bind_port = 7000         # frp与客户端绑定进行通信的端口
auto_token = frp7
vhost_http_port = 9000   # http 访问端口

树莓派frp配置

1.进去目录
2.vi frpc.ini

[common]
server_addr =云服务器IP  # frps所在的服务器的 IP
server_port = 7000                 # frp与服务器绑定进行通信的端口

[ssh]
type = tcp
local_ip = 192.168.199.155        # Pi所在局域网IP
local_port = 22                       # 本地端口
remote_port = 6000               # ssh远程访问端口

扫描二维码关注公众号,回复: 5890228 查看本文章

[web]
type = http
local_port = 8080                   # web 服务对应的端口——mjpg-streamer所需端口
custom_domains = 云服务器IP   # frps所在的服务器的 IP

运行顺序

1.先运行服务器的frp
   cd frp_0.20.0_linux_amd64
   ./frps -c ./frps.ini

2.运行mjpg
cd /root/mjpg-streamer/mjpg-streamer-experimental/
运行:
./mjpg_streamer -i "./input_uvc.so " -o "./output_http.so -w ./www"  (默认参数)
如果视频有点卡,换成:
./mjpg_streamer -i "./input_uvc.so -y -r 240x240" -o "./output_http.so -w ./www"(调分辨率)
改进:
./mjpg_streamer -i "./input_uvc.so -y -r 240x240 -f 20" -o "./output_http.so -w ./www"(调分辨率+频帧)

3.运行树莓派的frp

 cd frp_0.20.0_linux_amd64
   ./frpc -c ./frpc.ini

效果

 

猜你喜欢

转载自blog.csdn.net/weixin_40535588/article/details/89296894