基于QT和tiny4412,mini2440的多摄像头无线监控。

   大约花了一个月的时间大体上完成了多摄像头无线监控,现在总结一下。

   最开始用的基于kernel2.6.13的mini2440,由于板子的内核太老,需要自己移植无线网卡RT5370,还有对无线网操作的命令包,移植过程在上一篇的博客里有介绍。在这里就不一一赘述了,后来改用了内核为3.5的tiny4412,很方便,无线网卡和摄像头的驱动已经全部集成到内核里了,上手可用。首先使用mjpg-streamer在虚拟机上运行很顺利,移植到板子上出现了问题,首先是提示打不开摄像头,注意不是/dev/video0 No such device.而是can not opening device,然后LS一下/dev 返现里面有video0到video15 这么多个摄像头设备符号,然后插拔一下摄像头发现我的摄像头不管怎么样分配都是video15,但是mjpg-streamer里程序设定的是video0,这样就有两种办法,改mjpg-streamer或者改设备符,我选了一个比较简单的方法更改设备符,先 rm video1 到 video14,然后mv video15 video0,就强制改名了,接下来运行./start.sh,结果板子上还报错,这次问题是/dev/video0 No such device.然后找了找原因,发现可以用./mjpg_streamer -i "input_uvc.so -yuv" -o "output_http.so -w ./www"
export LD_LIBRARY_PATH=/mjpg-streamer-r63:$LD_LIBRARY_PATH 这两条命令代替启动程序,应该是图片格式问题。然后把这些命令写成一个.sh文件,以后方便运行。然后可以在板子上运行mjpg-streamer程序了,然后在开热点的PC机上输入板子的IP加端口号出现了监控界面。初步测试算是成功了。

 接下来就要处理外网能够访问的问题,首先wifi热点给终端分配一定是私有IP,在公网上的IP是不能直接访问局域网的私有IP的,所以需要nat转换,nat转换就是把私有IP映射到公网IP上,使得私有IP可以被公网IP访问到。在PC机上做nat转换很复杂,所以我用路由器,因为路由器设置界面里有端口映射或者端口转发,可以直接设置。注意源IP是你想用来访问局域网的机子的公网IP,端口设置超过1024的,目的IP设为板子的IP,就是私有IP,端口号就是8080.这样就可以通过外网访问摄像头了,同时只有这个IP可以访问还可以做到保密效果。

  处理完外网访问的问题,现在也就是可以初步实现无线监控了,但是这只是一个摄像头的,现在要设置多窗口的显示,就是可以同时显示不同摄像的监控界面,需要用QT写个浏览器,然后窗口分割,分成4个窗口,这是前端的开发,我不太懂,只是初步实现了效果图如下,只有两个摄像头,放到4个窗口显示。基于QT和tiny4412,mini2440的多摄像头无线监控。_第1张图片

   最后可以用VLC软件保存监控视频,操作流程转到java-scr页面,然后网网址改成action,用这个网址,先加队列,然后转换,加不加显示都试试,然后快进就可以显示录下的视频。



你可能感兴趣的:(linux)