摘要:本文章将教你做一个用嵌入式开发板和端来实现的视频监控系统。端功能设计采用等语言来实现,在网页上实时显示监控画面,还有一些功能按钮如播放暂停切换查看历史等。
本文章将教你做一个用嵌入式linux开发板和web端来实现的视频监控系统。
本项目是博主大学时的毕业设计题目,现分享给大家。
知识点:嵌入式 Linux V4L2 socket Web node.js html QT
硬件:
开发板:ARM开发板、树莓派、jetson nano...等跑linux系统的开发板,连接一个摄像头;
电脑:Web前端,可查看监控画面;
功能介绍:
开发板与电脑通过网络socket通信(网线、wifi均可),开发板获取摄像头的画面,将通过网络socket上传到web端,在web端可实时观看摄像头画面。
采用Linux内核的V4L2视频驱动架构来驱动摄像头获取图像数据,支持MJPEG、JPEG、YUV等格式图像,采用socket与web端通信,将一帧帧的图像发送给Web端,这就实现了捕获摄像头图像的功能。若开发板是带LCD屏的还可添加相应的画面实时显示、一些功能按钮或标签信息等,可用QT来实现。
采用node.js html等语言来实现,在网页上实时显示监控画面,还有一些功能按钮如播放、暂停、切换、查看历史等。
应用程序通过V4L2进行视频采集的原理
V4L2支持内存映射方式(mmap)和直接读取方式(read)来采集数据,前者一般用于连续视频数据的采集,后者常用于静态图片数据的采集,本文重点讨论内存映射方式的视频采集。
应用程序通过V4L2接口采集视频数据分为五个步骤:
首先,打开视频设备文件,进行视频采集的参数初始化,通过V4L2接口设置视频图像的采集窗口、采集的点阵大小和格式;
其次,申请若干视频采集的帧缓冲区,并将这些帧缓冲区从内核空间映射到用户空间,便于应用程序读取/处理视频数据;
第三,将申请到的帧缓冲区在视频采集输入队列排队,并启动视频采集;
第四,驱动开始视频数据的采集,应用程序从视频采集输出队列取出帧缓冲区,处理完后,将帧缓冲区重新放入视频采集输入队列,循环往复采集连续的视频数据;
第五,停止视频采集。
未完等续。。。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/118880.html
摘要:所以我必须基于自己现在的情况走出一条适合自己情况的成长路线。下位机上位机的思想下位机上位机这就是我自己探索出来的技术成长路线。对和嵌入式的朋友感兴趣的朋友可以试一下我这条学习路线 ...
摘要:要想放到树莓派上运行,需要官方提供的固件四下载直接下载我们所需的在文件夹中,将其中的复制到卡的分区中之前分区时大小为,格式为的那个,再将编译好的一同复制进去。 2021SC@SDUSC 一、uboot的介绍 1.1、计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统。典型的...
摘要:安全测试讲全安全牛苑房宏是基于的发行版,设计用于数字取证操作系统。 Kali Linux安全测试(177讲全) 安全牛苑房宏 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。由Offensive Security Ltd维护和资助。最先由Offensiv...
摘要:一交叉编译概念什么是交叉编译交叉编译是在一个平台上生成另一个平台上的可执行代码。也要树莓派有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 ...
阅读 2515·2021-11-22 09:34
阅读 3523·2021-11-15 11:37
阅读 2319·2021-09-13 10:37
阅读 2089·2021-09-04 16:40
阅读 1406·2021-09-02 15:40
阅读 2444·2019-08-30 13:14
阅读 3296·2019-08-29 13:42
阅读 1837·2019-08-29 13:02