正点原子imx6ull开发板视频监控项目实战系列6:内网穿透

博客指出之前将服务器和ffmpeg部署在开发板上,拉流端和推流端需在同一网段,无法任意地区访问nginx。介绍了解决方法,即把nginx放公网服务器或用内网穿透技术,还解释了内网穿透原因,并给出花生壳软件配置及推流、拉流的实际操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、之前几节,我们虽然实现了功能,但是存在这样一个问题。

我们将服务器和ffmpeg都是部署在开发板上的,这就要求拉流端和开发板(推流端)必须都在同一个网段中。不能实现,在任意地区访问nginx.
解决方法有两个:
1)、将nginx放到公网服务器上(设置路由器,在路由器安装内网穿透的软件,有难度)
2)、使用内网穿透技术,将开发板暴露在公网中。
为什么要用内网穿透的?
总得来说,就是:
因为局域网内的设备可以主动通过路由器访问互联网里面的某一个网站,之后,局域网设备就可以和互联网之间进行信息的交互。但是互联网无法/不可以主动访问内网里面的设备。所以,需要使用内网穿透技术。
细致的来讲,就是:
首先,我们要明确ip和端口的作用:
在这里插入图片描述
在这里插入图片描述
在同一个局域网内的所有设备,他们最后都会接在同一个路由器上。这个路由器的ip是公网ip,在这个路由器下的ip都是局域网ip。
这就是,你家里的电脑,公司的电脑,IP都是192.168.0.100,但是它们并没有冲突:因为它们处于不同的局域网。
局域网里的电脑要访问公网(物联网),要路由器帮忙!
在这里插入图片描述
这种方法可以很好的解决ip不够的问题。
当我们对外访问时,路由器来帮忙:
IP和端口都很重要,但是IP不够用:
a、主机A的局域网IP是10.1.1.100,它使用端口1025,去访问公网211.100.7.34
b、但是它没有公网IP,跟路由器说:哥们,帮帮忙
c、路由器就把数据包里的(10.1.1.100:1025)改成自己的IP和端口(162.105.176.65:16384),发出伪造的数据包
d、服务器收到后,返回数据给(162.105.176.65:16384),这是路由器
e、路由器收到数据后查表:这是主机A要我取的数据,于是把数据包里的目的(162.105.176.65:16384)改为(10.1.1.100:1025),并发给主机A
f、主机A收到数据。
在这里插入图片描述
从这个过程可以知道:
1)、局域网的电脑,借助路由器,可以访问公网
2)、需要局域网内的电脑主动发起网络连接
3)、公网无法主动访问局域网内的电脑。这样做,会导致;
a、你访问谁呢?在路由器里都没有记录,丢掉
b、这可以保护局域网内的电脑,比如前两年爆发的勒索病毒
c、但是也造成了:我在家里无法访问公司的电脑,公司的摄像头

2、实际操作

1)、下载花生壳软件,并配置:
在这里插入图片描述
2)、
推流
在开发板上执行:
ffmpeg -f v4l2 -framerate 15 -i /dev/video1 -q 10 -f flv rtmp://127.0.0.1/live/wei (一秒10帧,质量是10)
拉流
使用HTTPFLV协议拉流:VLC播放器中点击“媒体”->“打开网络串流”,输入: http://315999m2y4.51vip.biz/test?app=live&stream=wei ,就可以播放了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值