Linux项目:《视频监控》基于正点原子I.MX6ULL_MINI板

前言:本项目更改自韦东山老师的视频监控项目,如果想深入了解该项目,建议去看韦老师的视频。本人只是将其适配成正点原子的Linux板子,如有侵权,请务必告知。必删!谢谢!

PC端与手机端通过局域网在线播放视频监控画面,效果如下:
在这里插入图片描述
硬件连接示意图:
硬件连接
在手机或电脑有联网的前提下,随时随地远程监控。但由于imx6ull性能局限为了有较好的演示效果,建议在板子先运行摄影一段视频程序,再将视频推流到Nginx流媒体服务器,然后手机从服务器上拉流下来通过VLC播放。监控画面如下:
在这里插入图片描述

注意:本文所有方案需建立在有网络的前提下,即需要WIFI模块,本人使用正点原子旗下的SDIO WIFI模块(8189)本人也根据原子的教程配置好相关的驱动,并就本项目需要,编写了建立网络连接的脚本。默认使用本人的路由。操作者在操作时应改为自己路由或热点的WiFi名称与密码。更改方法请参考正点原子WiFi驱动移植教程。

视频监控方案选择

视频里介绍两种方案。
方案一:利用mjpg-streamer实现局域网内的视频监控。

设计思路在连接摄像头的ARM板子上,实现一个服务器程序:它一边读取摄像头数据,一边等待客户端连接并发送数据。在手机或电脑上,编写客户端程序,它会从ARM板上获得数据并显示出来。前提:约定数据格式传输一帧帧的数据
现成程序利用mjpg-streamer软件,将它运行在ARM板上,在手机上使用浏览器直接观看视频
方案的优缺点优点:程序简单,所有源码一目了然,便于学习对ARM板的性能要求不高,主频200MHz的ARM芯片也能实现。缺点:只能实现局域网内的视频监控要实现互联网视频监控,需要另外实现内网穿透mjpg-streamer没有实现声音传输mjpg-streamer项目已经不再维护,仅仅建议用于学习。

以正点原子驱动视频教学里的内核(4.15),设备树等为基础,根文件系统可选用第三期视频用busybox制作好的。在Ubuntu上对mjpg-streamer进行交叉编译。即配置、编译、安装三部曲后再将相关的库文件放到单板的lib文件夹下。最后在单板上运行mjpg-streamer,在电脑或手机浏览器输入http://路由器给开发板分配的IP地址:8080/?action=stream
即可观看。也可选用buildboot制作的根文件系统(推荐使用这个)这个根文件系统比较完善,可降低执行命令出错的几率。先按照原子里的buildroot教程制作根文件系统,再根据韦老师的视频生成含有mjpg-streamer软件的根文件系统。

方案二:热门的流媒体方案,利用ffmpeg软件将摄像头拍到的画面推流到Nginx流媒体服务器。推流命令在附录。PC端通过花生壳类软件进行内网穿透(把开发板暴露在公网上)。最后通过VLC打开网络串流输入以下URL即可从Nginx流媒体服务器上获取到监控的画面。访问地址如下图:在这里插入图片描述

URL:访问地址/test?app=live&stream=wei

注意 由于IMX6ULL性能太弱,在VLC播放器里看到的视频很卡,很滞后

由于mini板没有声卡,对于视频里有关使用ffmpeg录制音频的步骤本人并无操作过,如果您手上的板子是阿尔法板可以把音频也录进去看一下效果。

附:
在开发板上安装好ffmpeg后:
执行命令: ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 my.mp4
它会把摄像头的数据录制为my.mp4
把my.mp4复制到PC机,播放

推流
在开发板上执行:
ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 -f flv rtmp://127.0.0.1/live/wei
拉流
192.168.1.6为PPT里的开发板IP,操作时应换成自己的开发板IP
在PC上安装VLC播放器:https://www.videolan.org/
使用RTMP协议拉流:VLC播放器中点击“媒体”->“打开网络串流”,输入:rtmp://192.168.1.6/live/wei ,就可以播放了
使用HTTPFLV协议拉流:VLC播放器中点击“媒体”->“打开网络串流”,输入: http://192.168.1.6/test?app=live&stream=wei ,就可以播放了
缺点:
IMX6ULL性能太弱,在VLC播放器里看到的视频很卡,很滞后
改进:
我们可以上传一个mp4文件到开发板,把它推到Nginx: ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/wei
然后再用VLC拉流看看,会发现很顺畅

总结:项目不难,细节居多,命令里的IP地址一定要根据自己的开发板IP设置。ffmpeg是音视频方向的入门,有兴趣的小伙伴可以认真查阅这方面的相关资料!本文是本人做完该项目半年后整理所得,难免出现纰漏,若发现,请务必告知!谢谢!最后附上我整理好的视频监控资料压缩包!

视频监控项目资料下载

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值