文档库 最新最全的文档下载
当前位置:文档库 › Openwrt路由器挂载摄像头教程

Openwrt路由器挂载摄像头教程

Openwrt路由器挂载摄像头教程

December 30th, 2012 | Categories: Router | Tags: mjpeg-streamer, openwrt, 挂载, 摄像头, 远程监控
Openwrt可以做的事情很多:VPN、离线下载、VLAN、无线中继、多拨,等等。因为比较折腾,所以适合喜欢钻研,知道怎么找资料,并且对Linux较熟悉的人使用。一般用户还是用普通路由器,或者别人帮刷好固件的路由器吧~
Openwrt还有一项功能比较吸引人,那就是挂载摄像头,实现远程实时监控。本文介绍通过mjpeg-streamer输出摄像头的实时图像,从而实现远程监控。最近还会写一篇使用motion实现自动拍照上传的教程,敬请关注本博客。

一、准备工作
首先就是要有一个刷了openwrt的路由器,固件里至少要包括下面的两个摄像头相关的内核模块:

kmod-video-core, kmod-video-uvc
以及mjpeg-streamer软件。DreamBox的0909版固件就不错,本人的HG255D路由器目前用的就是这款固件。其他型号的路由器,可以去OpenWrt中文网,以及恩山无线论坛寻找相应固件。当然,路由器自身至少要有一个USB 2.0接口。

其次,一个免驱并支持MJPEG输出的摄像头。这个就需要仔细挑选了。可以参考这个帖子,选择适合自己的摄像头。注意:不支持MJPEG输出的摄像头,以路由器CPU的能力,每秒也就能输出2-3帧,几乎不可用,所以务必选择正确的摄像头。本人使用的是微软的HD3000 720P高清摄像头,免驱并支持MJPEG,去除了HD5000里作用不大的自动对焦功能,价格比HD5000更加亲民。

二、测试摄像头
将摄像头插到路由器上,然后ssh到路由器上,执行logread命令,会打印出路由器开机后的终端log。在里面寻找”usbcore: registered new interface driver uvcvideo”,以及含有”/dev/video0″的字样。如果有,则说明免驱摄像头挂载成功,没有的话肯定是摄像头不支持了。

三、配置执行监控软件
首先要去mjpeg-streamer的sourceforge网站下载它的最新源码解压,只需要其中的www目录。此处,我们将其放到路由器的/www目录下,并且改名为camwww。

mjpeg-streamer的用法比较简单,参数直接写在命令行里就可以了。下面给出几个常见的参数组合:

mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
上面这行命令是让mjpeg-streamer以默认的640×480分辨率、30fps显示图像,并且监听8080端口的http请求。其自带的一个小型web页面所在的地址为/www/camwww。

mjpg_streamer -i "input_uvc.so -f 15 -r 320*240 -d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
上面这个就是较为完整的,自定义了分辨率和帧率。另外还有-c参数可以设置使用密码访问。具体参数可以加上–help来运行mjpeg-streamer查看,或者这个网站。

注意:如

果你的摄像头必须像下面这样加上-y参数才能正常开启的话,就说明它不支持MJPEG输出,只能以YUV形式每秒2、3帧的速度输出:

mjpg_streamer -i "input_uvc.so -y -d /dev/video0" -o "output_http.so -p 8080 -w /www/camwww"
正常完成了mjpeg-streamer的执行后,就可以用浏览器(最好是firefox或者chrome)访问路由器的8080端口(由-p参数指定),查看摄像头的图像。

若想实现远程监控,可以在路由器上配置一下花生壳之类的动态域名服务,就能在外网通过域名访问路由器。

本文为悠然居的原创文章,转载请注明出处!

Leave a comment | Trackback
Paublo
January 12th, 2013 at 12:07
Reply | Quote | #1
motion自动上传,调试了么?
我测试了个用mjgp-streamer+wget+curl,上传yeelink网站。可以看一下连接:
https://www.wendangku.net/doc/d514695222.html,/devices/1656
我也装了motion,取到了network camera 的视频流,并且可以做运动检测,可以利用8081端口输出一个jpg流,但是暂时还没实现motion的输出和上传。
我的邮箱是paublo@https://www.wendangku.net/doc/d514695222.html,。
期待与你的交流。

youran
January 12th, 2013 at 12:24
Reply | Quote | #2
暂时还没测试,这两天测一下。
motion.conf有个参数on_picture_save,应该可以用来自动执行上传脚本。
另外还有个简单的方法是用cron定期执行一个脚本,检测motion的jpg输出目录里有无新文件,如果有则上传后删除。感觉这个方法比较适合在图像频繁变动,导致motion短时间内大量生成图片文件的时候。用上面那个参数的话,不知道motion能不能同时处理那么多。

youran
January 12th, 2013 at 17:33
Reply | Quote | #3
折腾了一下,成功了。见我新写的博文:
http://wordpress.youran.me/openwrt-webcam-motion/
在我的HG255D Openwrt-Dreambox下测试通过。

yangqun
November 6th, 2013 at 01:11
Reply | Quote | #4
大神,膜拜!
我的摄像头是ZC0305,可以在op下正常驱动。不过我发现同样环境下,win下要比op下亮。是驱动的原因么?求赐教。thx……

youran
November 6th, 2013 at 14:46
Reply | Quote | #5
估计是驱动的问题,如果觉得linux下的比较暗影响到了mjpeg-streamer的监控效果,有个[-m | --minimum_size ]选项可以尝试下。

yangqimeng
April 19th, 2014 at 20:48
Reply | Quote | #6
你好,我用的固件和路由都和你一样,可是我没有挂载成功,我想把我的截图给你看看,你能教教我,怎么挂载上去么

yangqimeng
April 19th, 2014 at 20:51
Reply | Quote | #7
我的QQ214053573,希望你能指导指导我这个新人,学过linux,但不能理解博客里面的“首先要去mjpeg-streamer的sourceforge网站下载它的最新源码解压,只需要其中的www目录。此处,我们将其放到路由器的/www目录下,并且改名为camwww。”这句话

相关文档
相关文档 最新文档