Mjpg-Streamer发布http服务+Frp进行内网穿透

Mjpg-Streamer发布http的视频流服务

1、Mjpeg是视频,就是由系列jpg图片组成的视频

2、MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名

 

从github上 下载 MJPG-streamer,并编译, 安装

git clone https://github.com/jacksonliam/mjpg-streamer.git

cd mjpg-streamer/mjpg-streamer-experimental/

make all

sudo make install

在我的树莓派上,PiCamera获得视频流,OpenCV识别后将文件写入指定目录, 然后用mjpg-streamer发布http的视频流服务

mjpg_streamer -i "input_file.so -f /home/pi/mytest -n face.jpg" -o "output_http.so -w ./www"

在这里,我指定视频传输流的入口,是有我自己创建的一个mytest,即将摄像头的输入替换为了OpenCV识别后的图像流

https://blog.csdn.net/little_bobo/article/details/78769745

https://www.jianshu.com/p/32c24f0fa6ec


Frp进行内网穿透

frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议

preview

从Github上下载frp,解压

git clone https://github.com/fatedier/frp/releases?after=v0.15.1

解压后,对两个文件进行一个编译

客户端(client) : frpc frpc.ini

服务端 (server) : frps frps.ini

1、vim frps.ini

[common]

bind_port = 7000          #反向代理开启的端口
vhost_http_port = 6081    #vhost_http_port 为 http 访问端口

 

2、vim frpc.ini

[common] 
   
server_addr = 47.101.141.167(服务端公网IP)    
server_port = 7000(服务端bind_port)    
      

[ssh]    # ssh连接配置

type = tcp    
local_ip = 127.0.0.1    
local_port = 22    
remote_port = 1111    


[web1]  
  
type = http    
local_port = 8080 #内网机器web服务端口    
custom_domains = yolo.org.cn #提供外网访问的域名

3、执行

frpc  -c   frpc.ini

frps  -c   frps.ini


我们要首先运行python程序,然后开启Mjpg-Streamer服务,最后开启服务器frp反向代理,然后开启树莓派反向代理!