1、在编译固件的时候
配置 OpenWrt 支持 usb 摄像头
勾选 Kernel modules-->Video Support-->kmod-video-core-->kmod-video-uvc
配置 OpenWrt 支持 mipg-streamer 软件
勾选 Mutimedia-->mjpg-streamer
然后编译固件make V=99 ,再然后烧录编译好的固件
开发板运行命令:mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 320x240 " -o "output_file.so -d 1000 -f /tmp"
如果没出现错误,在停止程序后 /tmp下会有刚保存下来的照片。
如果出现下面错误:
是因为没有outputfile这个动态库
需要下载源码,自己编译出outputfile.so(必须要安装交叉编译工具之后)
下载mipg-steamer软软件
svn co https://svn.code.sf.net/p/mjpg-streamer/code mjpg-streamer
下载完后进入outputfile目录 cd mjpg-streamer/mjpg-streamer/plugins/output_file/
vim Makefile
CC=gcc修改为 CC=mipsel-openwrt-linux-gcc
然后make一下在本目录下生成对应的outputfile.so
最后把outputfile.so文件拖到开发板的/usr/lib/ 目录下
重新运行 命令:
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 320x240 " -o "output_file.so -d 1000 -f /tmp"
在/tmp目录下会每隔一秒钟保存一张图片。
完毕!!!
mjpg_streamer常用选项,其他参数选项请自行百度!
一般摄像头: mjpg_streamer -i "input_uvc.so -d /dev/video0 -y" -o "output_http.so -w www"
支持 MJPEG 的摄像头: mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -w www"
其中: -i 表示指定输入,这里输入为:input_uvc.so即uvc(usb video),-d是设备 位置,我们摄像头的设备位置在:/dev/video0,-y用于区分一般摄像头和支持MJPEG的 摄像头,-o指定输出,这里输出到 output_ http.so即http(可以理解为输出到网页上),-w 指定web服务器为www。
-y 是关键,默认启动是 mjpeg 格式,这个就报错。改成 YUV 格式
-d 指定设备
-f 制定帧数,默认 30 帧
-r 指定视频大小,如 320×240
-q 指定画质,默认 80 关于输出参数:
-p 指定端口,这里是 8080
-w 指定网页目录,这里我们设置的是/www/camwww 目录
-c 设置通过密码访问