【记录】【教程】Raspberry树莓派+服务器+frp实现内网穿透进行远程实时视频

前言:通过fpr就可以远程访问我的设备,可以实现远程查看和操控树莓派了。


一、准备工具

1.服务器(我使用的是相对性价比高的腾讯云服务器)
2.frp
3.树莓派

二、操作步骤

1. 下载frp

(1)推荐先下载到自己电脑上,然后再用xftp(xftp免费使用教程)上传到树莓派和服务器上。frp下载链接。我也把压缩包放到网盘里了,需要的自取 ,密码1111。
在这里插入图片描述
(2)通过xftp上传到服务端和树莓派端。

2.配置服务端

(1)解压并进入文件夹

sudo tar -xzvf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64

(2)配置frps.ini文件

sudo nano frps.ini

写入

[common]
bind_port = 7001
vhost_http_port =7001

Ctrl+s,Ctrl+x,保存并退出
(3)服务器开放7001端口(可以自己设置不同的端口,一定要和frps.ini文件中的配置对应起来)
在这里插入图片描述
我的是腾讯云服务器,使用是宝塔管理系统,所以说我两个系统中都要开放7001端口。
(4)在frp_0.38.0_linux_amd64文件夹下启动frps,

./frps -c ./frps.ini

启动成功
在这里插入图片描述

3.配置树莓派端

(1)同理,解压并进入文件夹

sudo tar -xzvf frp_0.38.0_linux_arm.tar.gz
cd frp_0.38.0_linux_arm

(2)配置frps.ini文件

sudo nano frpc.ini

写入

[common]
 # ***处填入填入你服务器的公网ip
server_addr = *******
# 开放的端口号
server_port = 7001



[web]

type = http
#此处为树莓派开放的端口号
local_port = 8081
 # ***处填入填入你服务器的公网ip
custom_domains = ***

Ctrl+s,Ctrl+x,保存并退出
(3)启动
在frp_0.38.0_linux_arm文件夹下启动测试一下

./frpc -c ./frpc.ini

在这里插入图片描述
success,显示启动成功。

4.远程实时视频

1.树莓派端启动motion(motion的安装及配置可以查看这篇文章

sudo motion

(1)局域网内查看(192.168.137.xx为自己的树莓派ip地址)
浏览器内输入:http://192.168.137.xx:8081/
在这里插入图片描述
(2)公网远程查看(192.168.137.xx为自己的公网ip地址)
浏览器内输入:http://192.168.137.xx:7001/
延迟比较高,我这边延迟能有十几秒。(请继续往下看,有延迟几十ms的)
在这里插入图片描述
2.重点!!!流畅的mjpg-streamer来了!亲测公网延迟100ms左右
(1)启动mjpg-streamer(mjpg-streamer的安装及配置请看这篇文章
我们先杀死motion

sudo killall -TERM motion

到/mjpg-streamer/mjpg-streamer-experimental文件夹下执行启动命令

sudo ./start.sh

启动成功
在这里插入图片描述
(1)局域网内查看(192.168.137.xx为自己的树莓派ip地址)
浏览器内输入:http://192.168.137.xx:8081/
十分流畅
在这里插入图片描述
(2)公网远程查看(192.168.137.xx为自己的公网ip地址)
浏览器内输入:http://192.168.137.xx:7001/
效果不错,100ms以内,不影响直播,yeah!
在这里插入图片描述

5.设置快捷启动

(1)服务端
进入系统目录

cd /lib/systemd/system
sudo nano frps.service

写入下面代码

[Unit]

Description=frps service

After=network.target syslog.target

Wants=network.target

[Service]

Type=simple

User=nobody

Restart=on-failure

RestartSec=5s

#启动服务的命令(此处写你的frps的实际安装目录)

ExecStart=/lishouhao/frp_0.38.0_linux_amd64/frps -c /lishouhao/frp_0.38.0_linux_amd64/frps.ini

ExecReload=/lishouhao/frp_0.38.0_linux_amd64/frps reload -c /lishouhao/frp_0.38.0_linux_amd64/frps.ini

[Install]

WantedBy=multi-user.target

Ctrl+s,Ctrl+x,保存并退出
(2)同理树莓派端也是如此
注意:云服务器端是frps类文件,树莓派是frpc类文件,修改相关配置的时候一定要注意。
(3)快捷启动方式

# 启动frps
systemctl start frpc
# 打开开机自启动
systemctl enable frpc
# 关闭开机自启动
systemctl disable frpc
# 重启应用
systemctl restart frpc
# 停止应用
systemctl stop frpc
# 查看应用的日志
systemctl status frpc

总结

个人理解,frp是连接公网和内网的桥梁,只要配置好端口,就可以进行通信。配置的时候注意区分frps与frpc。
本人也是刚接触的小白,俗话说,好记性不如烂笔头,借以此文来记录自己的探索历程,文章如有不适,请多多批评,小木子一定洗耳恭听,知错就改。

猜你喜欢

转载自blog.csdn.net/qq_44696500/article/details/124681300