开源网络摄像系统/zh
概述
无线的视频采集在实际生活中有着广泛的应用。比如远程视频监控,终端距离视频监控。目前流程的无人机系统也可以搭载摄像头,将拍摄的图像实时传送到控制终端。市面上常见的WIFI车辆一般也配备无线视频的传输。本项目将在microWRT上,使用一款iSight苹果摄像头,来完成视频的采集,用户可以通过PC或者手机终端连接到MicroWrt上实时查看视频。玩家也可以根据自己的需要使用其他UVC免驱摄像头。具体摄像头的型号,可以查看openwrt官网获得详细信息。完成这个项目后,玩家可以将改系统应用在自己的其他项目中来实现视频采集。 材料清单
实验原理openwrt软件自带对USB, Video的支持,通过添加这些模块,USB摄像头就能够被正确的检测识别。为了启动USB摄像头,还需要安装另外一个软件mjpeg-streamer,它可以通过文件或者HTTP的方式来访问摄像头。它本省只需要很少的CPU和内存资源就可以工作,大部分编码工作都是由摄像头来完成的。所以对于内容和性能都有限的路由器十分实用。当用户通过无线连接到MicroWrt后,就可以通过浏览器来查看实时视频了。 安装调试我们的MicroWrt出厂固件已经支持了USB摄像头,当然玩家可以自己通过openwrt编译,然后烧写到MicroWrt上,具体的编译和烧写过程请参考其他wiki教程。需要注意的是,用户如果想烧写自己编译的固件最好通过uboot来烧写,不能用编程器。因为自己编译的固件是没有uboot的,直接用编程器烧写,会是MicroWrt变砖。本项目中使用的是isight摄像头,这个摄像头的特殊之处是需要有特定的驱动,好在openwrt已经包含了这个驱动,我们也配置到出厂固件里了。所以玩家可以直接使用。如果想自己编译的话,可以做如下配置: Device DRivers ---> USB Support ---> <*> iSight firmware loading support 固件的问题解决好了之后,将MicroWrt核心板和HUB板叠加在一起,添加时注意板子上的箭头标识,然后用充电宝或者PC通过MicroUSB给MicroWrt供电。带系统正常启动后,在PC的无线连接中会发现新的MicroWrt热点。将PC和MicroWrt建立连接。 打开终端软件putty(或其他的Windows 终端软件),MicroWrt的默认出厂IP是192.168.1.1,使用telnet来访问MicroWrt。 登陆后系统界面如下: 将摄像头插在MicroWrt的USB口上,同时putty终端上会有如下信息打印出来。 root@microWrt:/# root@microWrt:/# [ 392.310000] usb 1-1.2: new high-speed USB device number 3 using ehci-platform [ 392.460000] usb 1-1.2: New USB device found, idVendor=05ac, idProduct=8502 [ 392.460000] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 392.470000] usb 1-1.2: Product: Built-in iSight [ 392.470000] usb 1-1.2: Manufacturer: Apple Inc. [ 392.550000] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8502) [ 392.570000] input: Built-in iSight as /devices/101c0000.ehci/usb1/1-1/1-1.2/1-1.2:1.0/input/input0 然后检查在/dev目录下是否有设备video0,如果有,则说明摄像头已经成功加载。 mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 20" -o "output_http.so -p 8080 -w /www/webcam" 会有如下输出: root@microWrt:/etc/init.d# mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x 480 -f 20" -o "output_http.so -p 8080 -w /www/webcam" MJPG Streamer Version: svn rev: Unversioned directory i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 640 x 480 i: Frames Per Second.: 20 i: Format............: JPEG i: TV-Norm...........: DEFAULT o: www-folder-path...: /www/webcam/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled 正常完成了mjpeg-streamer的执行后,就可以用浏览器(最好是firefox或者chrome)访问路由器的8080端口,查看摄像头的图像。命令如下: 192.168.1.1:8080/?action=stream 若想实现远程监控,可以在路由器上配置一下花生壳之类的动态域名服务,就能在外网通过域名访问路由器。 视频 |