您的位置:首页 > 运维架构

从公网访问openwrt上用mjpeg-streamer搭建的视频监控

2016-04-16 10:44 686 查看

简述:通过ssh反向隧道将mjpeg-streamer的视频端口代理到公网VPS(例腾讯学生云服务器)上,从而通过访问云服务器间接访问NAT下的openwrt。

参考:

Openwrt路由器挂载摄像头教程


如何通过SSH反向隧道,访问NAT后面Linux服务器?


ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器

一、建立SSH反向隧道,让公网可以访问openwrt的8080端口
1、在openwrt上输入
root@OpenWrt:/www/webcam# ssh -fN -R 18080:localhost:8080 VPS服务器SSH用户名@VPS服务器IP



这样就相当于将VPS的18080端口与内网openwrt的8080端口捆绑在了一起。

2、启动openwrt上已经挂载好的摄像头
root@OpenWrt:/www/webcam# mjpg_streamer -i "input_uvc.so -f 15 -r 640*480 -d /dev/video0" -o "output_http.so -p 8080"


3、测试能否在VPS上获取到视频流
我们登上云服务器输入如下,进行测试
$ curl 127.0.0.1:18080/?action=stream
如果不断输出乱码,说明成功获得了视频流,那接下来的工作就是通过网页去访问了

二、修改apache的mod_proxy模块,将18080端口代理出去(我是centos 6.5的云服务器)
1、配置文件 /etc/httpd/conf/httpd.conf
拖到文件尾,修改如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /proxy    http://127.0.0.1:18080 ProxyPassReverse /proxy    http://127.0.0.1:18080 </VirtualHost>
2、重启http服务,从网页访问
# service httpd restart

最后通过浏览器访问 http://云服务器IP/proxy/?action=stream 成功看到图像!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: