毕设教程:基于嵌入式Linux和Web实现的视频监控系统(Arm/树莓派/jetson)

Posted 曾zengzr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了毕设教程:基于嵌入式Linux和Web实现的视频监控系统(Arm/树莓派/jetson)相关的知识,希望对你有一定的参考价值。

本文章将教你做一个用嵌入式linux开发板和web端来实现的视频监控系统。

本项目是博主大学时的毕业设计题目,现分享给大家。

" 技术交流群:365410923 "

知识点:嵌入式 Linux V4L2 socket Web node.js html QT

硬件:

开发板:ARM开发板、树莓派、jetson nano...等跑linux系统的开发板,连接一个摄像头;

电脑:Web前端,可查看监控画面;

功能介绍:

开发板与电脑通过网络socket通信(网线、wifi均可),开发板获取摄像头的画面,将通过网络socket上传到web端,在web端可实时观看摄像头画面。

嵌入式linux功能设计:

采用Linux内核的V4L2视频驱动架构来驱动摄像头获取图像数据,支持MJPEG、JPEG、YUV等格式图像,采用socket与web端通信,将一帧帧的图像发送给Web端,这就实现了捕获摄像头图像的功能。若开发板是带LCD屏的还可添加相应的画面实时显示、一些功能按钮或标签信息等,可用QT来实现。

Web端功能设计:

采用node.js html等语言来实现,在网页上实时显示监控画面,还有一些功能按钮如播放、暂停、切换、查看历史等。

V4L2视频驱动

应用程序通过V4L2进行视频采集的原理

V4L2支持内存映射方式(mmap)和直接读取方式(read)来采集数据,前者一般用于连续视频数据的采集,后者常用于静态图片数据的采集,本文重点讨论内存映射方式的视频采集。

应用程序通过V4L2接口采集视频数据分为五个步骤:

首先,打开视频设备文件,进行视频采集的参数初始化,通过V4L2接口设置视频图像的采集窗口、采集的点阵大小和格式;

其次,申请若干视频采集的帧缓冲区,并将这些帧缓冲区从内核空间映射到用户空间,便于应用程序读取/处理视频数据;

第三,将申请到的帧缓冲区在视频采集输入队列排队,并启动视频采集;

第四,驱动开始视频数据的采集,应用程序从视频采集输出队列取出帧缓冲区,处理完后,将帧缓冲区重新放入视频采集输入队列,循环往复采集连续的视频数据;

第五,停止视频采集。

未完等续。。。

以上是关于毕设教程:基于嵌入式Linux和Web实现的视频监控系统(Arm/树莓派/jetson)的主要内容,如果未能解决你的问题,请参考以下文章

韦东山嵌入式Linux视频教程_3期项目实战之ALSA声卡_从零编写之调试(基于优龙FS2410开发板,UDA1341声卡)

基于ARM和Linux的嵌入式Web Server设计与实现_爱学术——免费下载

韦东山嵌入式Linux视频教程_3期项目实战之ALSA声卡_从零编写之参数设置(基于优龙FS2410开发板,UDA1341声卡)

本人大四(面向嵌入式和单片机的),要做毕设,求建议,以下是题目,本人成绩中下。

韦东山嵌入式Linux视频教程_3期项目实战之ALSA声卡_从零编写之数据传输(基于优龙FS2410开发板,UDA1341声卡)

BSP视频教程BSP视频教程第22期:基于串口的XYZmodem文件传输协议实现,含上位机和下位机全开源,制作了一个Ymodem方式固件更新(2022-08-08)