1.树莓派接入USB摄像头
https://blog.csdn.net/qq_29225913/article/details/101077821(测试摄像头是否连入)
2.实现局域网访问摄像头视频
Mjpg-streamer是一个开源的项目
https://blog.csdn.net/qq_41923622/article/details/88366185
https://blog.csdn.net/weixin_44747240/article/details/104472326
https://blog.csdn.net/weixin_44747240/article/details/104472326
最终成功命令记录
1.依赖项
sudo apt-get updatesudo
sudo apt-get install subversionsudo
sudo apt-get install libjpeg8-devsudo
sudo apt-get install imagemagicksudo
sudo apt-get install libv4l-devsudo
sudo apt-get install cmakesudo
sudo apt-get install git
2.git一个开源的project:MJPG-streamer
wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
unzip master.zip
cd ~/mjpg-streamer-master/mjpg-streamer-experimental
sudo make all
sudo make install
3运行
/usr/local/bin/mjpg_streamer -i “/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720” -o “/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www”
3.内网穿透
首先买一个阿里云服务器ECS,要记得重新设置密码,账号是root.
老规矩先上一组参考链接
https://dengxj.blog.csdn.net/article/details/99211554
https://blog.csdn.net/wto882dim/article/details/85653170
https://blog.csdn.net/weixin_40535588/article/details/89296894
https://zhuanlan.zhihu.com/p/128590336
成功代码
阿里云服务器端
先在阿里云官网把服务器 的端口打开(这里我把能开的都开了)在安全组规则配置里面
然后通过putty ssh 登陆到你的服务器上
sudo apt-get update
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_amd64.tar.gz
tar -zxvf frp_0.17.0_linux_amd64.tar.gz
cd frp_0.17.0_linux_amd64
sudo vim ./frps.ini
添加以下内容:
[common]
bind_addr = 0.0.0.0
bind_port = 7001
vhost_http_port = 8080
在命令行中
#放行端口
iptables -I INPUT -i eth0 -p tcp --dport 7000 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 7000 -j ACCEPT
iptables -I INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 8080 -j ACCEPT
#后台保持启动 需要在frp_0.17.0_linux_amd64目录下操作
先运行服务器的frp
启动 ./frps -c ./frps.ini
在树莓派中
sudo apt-get update
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_arm.tar.gz
tar -zxvf frp_0.17.0_linux_arm.tar.gz
cd frp_0.17.0_linux_arm
sudo vim ./frpc.ini
添加
[common]
server_addr = 公网ip
server_port = 7001
[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains =公网ip
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 21
remote_port =6000
然后打开摄像头(局域网摄像头访问)
/usr/local/bin/mjpg_streamer -i “/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720” -o “/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www”
运行树莓派端的frp
./frpc -c ./frpc.ini
这是通过外网就可以访问啦
公网ip:8080
问题是视频卡成ppt,有待解决这个问题
这里视频卡有可能是带宽的原因,我们调低分辨率
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”(调分辨率+频帧)
在访问页面中
我们采用javascript的方式观看,延迟会低一些