当前位置:首页 > 投稿 > 正文

23.配置 OpenWrt 支持网络摄像头 openwrt入门经典教程(openwrt 网络监控)

23.配置 OpenWrt 支持网络摄像头

本实验目的

掌握配置 OpenWrt 支持网络摄像头

23.1 摄像头选择

做本次实验的时候 ,推荐大家用 USB 免驱的摄像头,最好是支持 MJPEG 输出的摄 像头类型。

USB 免驱摄像头输出 YUV 格式和输出 MJPEG 格式, 对无线监控的效果有什么影响呢? 首先大家要知道,同样是一帧数据, YUV 格式会比 MJPEG 格式的大得多,因此我们在视 频传输的时候,一般是传输 MJPEG 格式的数据。这样,就有这样一个问题,如果摄像头是 输出 YUV 格式,那么就意味着我们需要通过软件将视频数据由 YUV 格式转换成 MJPEG 格式,然后传输。如果摄像头输出的是 MJPEG 格式,那个将可以直接将得到的数据进行 传输。因此,使用支持 MJPEG 压缩的摄像头,比一般的摄像头,做无线监控的效果,好 很多!

23.2 配置 OpenWrt 支持 usb 摄像头

要支持摄像头,就必须配置上摄像头的驱动,因为是免驱的 USB 摄像头,因此我们必 须配置上 UVC 驱动,具体如图所示。

首先,我们选中内核模块进行配置:

选中 Video 支持配置:

按 ”y ” 选中 kmod-video-core:

在展开的选项中选中 uvc:

23.3 配置 OpenWrt 支持 mipg-streamer 软件

mipg-streamer 就是一款用于视频数据采集、视频数据格式转换、视频数据传输的软 件,服务器。因此为了让 openwrt 系统支持该软件,我们需要将它配置进去 :

就这样,我们就让 openwrt 系统支持无线监控,按前面的方法配置好后,保存退出, 然后 make V=99 ,最后将编译出来的固件烧写到我们的开发板上面。然后启动系统。

启动完成,插入我们的摄像头,就会看到/dev/video0 这个设备节点。

usb 摄像头接入开发板后提示如下:

然后运行 mipg-streamer 软件:

一般摄像头:

mjpg_streamer -i input_uvc.so -d /dev/video0 -y -o output_https.so -w www

支持 MJPEG 的摄像头:

mjpg_streamer -i input_uvc.so -d /dev/video0 -o output_https.so -w www

其中: -i 表示指定输入,这里输入为: input_uvc.so 即 uvc(usb video) ,-d 是设备 位置,我们摄像头的设备位置在: /dev/video0 ,-y 用于区分一般摄像头和支持 MJPEG 的 摄像头, -o 指定输出,这里输出到 output_ https.so 即 https(可以理解为输出到网页上) ,-w 指定 web 服务器为www。

运行命令后,可以得到如下图的信息:

图 1 mjpg_streamer 启动信息

好的,我们打开网页输入:

其中 192.168.10.1 是开发板的 ip 地址,8080 是 https tcp 的端口,从图 1 可以看出。 action 表示某个动作, 这里表示: stream。通过这个输入我们就可以从网页完成视频的监控了!

当然,在我们的 ” Monitor.apk” 中可以进行手机安装该软件,进行安卓手机端的控制!

手机上只用输入路由器的 IP 即可看到监控画面。

这里 mipg-streamer 软件使用方法我们可以通过命令 :mjpg_streamer – h 进行帮助!

-y 是关键,默认启动是 mjpeg 格式,这个就报错。改成 YUV 格式 -d 指定设备

-f 制定帧数,默认 30 帧

-r 指定视频大小,如 320×240

-q 指定画质,默认 80

关于输出参数:

-p 指定端口,这里是 8080

-w 指定网页目录,这里我们设置的是/www/camwww 目录

-c 设置通过密码访问

修改分辨率如:

mjpg_streamer -i input_uvc.so -r 800*600 -d /dev/video0 -o output_https.so 8080 -w www