幼儿园监控系统的视频数据采集及推送设计毕业论文
2020-04-08 12:40:17
摘 要
本文从硬件设计和软件设计两个方面介绍了基于S3C6410的视频采集与传输的设计与实现。我的毕业设计是基于 ARM11核心的三星 S3C6410处理器,采用 V4 L2接口编程来采集外部摄像头图像, H.264是使用硬件编码器实现的,可提高编码效率。 H.264视频流使用Live555软件包打包,根据RTSP协议通过网络传输到计算机,并通过VLC播放。 测试表明,系统的设计可以执行以满足预期的要求。
关键词:S3C6410; H.264; V4L2; RTSP;Live555
Abstract
This article describes the design and implementation of a video acquisition and transmission system based on S3C6410 processor from two aspects of hardware design and software design. This graduated design is based on the ARM11 core Samsung S3C6410 processor, uses the V4L2 interface programming to collect the external camera data, uses a hardware encoder for H.264 encoding, so that the encoding efficiency is improved. The H.264 video stream is packaged using the Live555 package, transmitted to the computer via the network according to the RTSP protocol, and played through the VLC. Tests have shown that the design of the system can be carried out to meet the expected requirements.
Key Words: S3C6410; H.264; V4L2; RTSP;Live555
目 录
第1章 绪论 1
1.1背景 1
1.2意义 1
1.3国内外研究现状 1
第2章 技术方案及措施 3
2.1研究的基本内容 3
2.2研究的基本目标 3
2.3拟采用的技术方案及措施 3
2.3.1视频采集 3
2.3.2 视频编码 3
第3章 相关知识概述 4
3.1 个人计算机端的开发 4
3.1.1GCC(for arm-linux)的搭建 4
3.1.2 Linux操作系统里“集成开发环境”创立 5
3.2 Linux操纵系统下进行画面收集 11
3.3 摄像头采集数据格式(YUV420) 11
3.4 对视频的压缩(H.264) 12
第4章 系统的总体设计 13
4.1硬件系统简介 13
4.1.1 S3C6410 处理器 13
4.1.2 系统硬件结构 13
4.2软件总体设计 14
4.2.1 视频采集 14
4.2.2 视频编码 16
第5章 详细设计与实现 17
5.1硬件实现 17
5.1.1 6410的简单介绍 17
5.1.2 飞凌OK6410开发板 17
5.2 软件设计与实现 18
5.2.1 视频的采集 18
5.2.2 视频编码 25
5.2.3 H.264 的Encapsulation 和 transmission 29
5.2.4 软件集成 33
第6章 系统调试 36
6.1 硬件调试 36
6.2 软件调试 37
6.2.1 NFS配置 37
6.2.2 测试程序 37
6.3 软硬结合调试 39
第7章 结论 41
第8章 总结与体会 42
致谢 43
参考文献 44
附录 45
附录A 源程序 45
附录A1主程序 45
附录A2 capture.h 52
附录A3 vcompress.h 53
第1章 绪论
1.1背景
社会在快速发展,婴幼儿教学已经成为了人们十分看重的问题。人们现在的生活节奏是越来越快,大人们因为工作繁忙,并且许多家长希望孩子尽早接受教育,赢在起跑线上,因此幼稚园对于广大要把孩子送到幼儿园的家长来说已经是供不应求。
幼儿园孩子年龄小,更遑论他们的预防能力、自我保护能力相当小,因此,幼儿园的安全问题一直是家长和管理者最关心的问题, 对于家长,把小孩到幼儿园,会慎重选择。 绑架和拐卖儿童时常发生,尤其是在独生子女较多时。 对于一个家而言,小孩就变成一家之宝。
1.2意义
从和谐社会的构建和网络信息技术的发展过程来看,教育者们认为“学前教育的透明度”和“家庭生产”是学前教育产业发展的未来趋势,是过程中领导人物的概念。这种变化必须是先进的、管理规范的、经得起考验的幼儿园;他们将成为幼教产业的新标准,推崇开放教育,认识“大教育”的看法。
在监控技术日趋成熟的今天,很多幼儿园已经把监控摄像头安装进了学校的各个角落,小学和幼稚园是儿童学习能力发展的重要阶段,教育师资水平和教育设施已成为全社会关注的校园建设重点。
1.3国内外研究现状
截止到目前为止,美国、英国等国家相继展开了非常多的相关的研究项目。例如,由美国国防高级研究项目署(Defense Advanced Research Projects Agency)牵头在1997年设立了一个大项目VSAM—自动视频理解技术,而该项目的视觉监控应用的主要场合是打仗的战场或者普罗大众的生活场景。实时的视觉监控系统可以实现不同人物的定位、分辨人体的部位,甚至于仅凭外貌就可实现对人的实时追踪等,并且这个系统还能够去分析计算监测出你是否有危险品。
21世纪以来的闻名世界的恐怖袭击,比如2001年美国的“911”事件、恐怖分子袭击伦敦地铁造成的大爆炸等,使得各个国家甚至是公共场所都有越来越多的摄像头部署,由于其数量的日益增加,整个系统也变得非常巨大。例如,在英国,全国安装了超过420万台摄像机,平均14人,每人每天可能在300个摄像头前出现,为了解决海量信息和图像的有效应用和处理问题,各个国家陆陆续续将计算机视觉相关技术引入视频监控,从而发展成了新型智能监控系统。
在我国,这方面的研究近几年才开展起来的。中国有一些视频监控产品,如Anycat等,这些产品用于交通管制和监狱管理。除此之外,国内产品还拥有数字硬盘录像系统(DVR),可记录监控区域内物体的移动。为了准备查询,系统在没有任何移动对象分析的情况下简单的检测移动对象的存在或者不存在。由于国内研究起步较晚,技术尚不完善,产品开发与情报之间仍存在差距。
然而,目前业内的很多公司已经广泛采用了主流的MPEG4、H.264编解码标准,并且在编码和解码效率、图像质量和数据传输等方面取得了显著的技术进步。但由于目前的系统侧重于监控场景的记录,缺乏对图像的进一步分析和理解,比如无人脸识别功能、危险动作报警系统等,这些智能系统在幼儿园监控系统里面显得至关重要。
第2章 技术方案及措施
2.1研究的基本内容
本毕设的主要内容,研究幼儿园监控系统,特别是视频部分尤为重要,本课题针对幼儿园视频监控系统的部分,需要通过摄像头采集视频并推到服务器上,使更多的家长可以实时了解孩子们在幼稚园里的状况。
2.2研究的基本目标
视频采集和传输系统主要负责视频采集和传输终端,网络和计算机的视频回放。终端使用S3C64嵌入式处理器开发板运行Linux,方便用户开发。开发板的外部摄像机用于视频数据收集。 Linux操作系统运行在计算机上,负责接收来自终端的数据传输,解码,播放和显示。
2.3拟采用的技术方案及措施
系统软件设计可分为系统软件平台的建立和应用软件的设计、系统软件平台结构的设计、遵循REALARM6410手册中单独的引导程序和内核文件系统的建立等步骤。应用软件的设计可分为视频采集、数据H. 264编码和数据网络传输三个部分。
2.3.1视频采集
该应用程序在Linux USB视频模块中提供统一的API,以便应用程序可以使用统一的API函数在不同设备上运行。极大简化视频系统的发展和维护。 V4L2比V4L具有更好的可扩展性和灵活性,并且还支持更多设备。视频设备通过虚拟寄存器注册视频设备文件,并通过访问在线视频设备来操作。
2.3.2 视频编码
该视频由S3 C64编码和解码单元编码,该单元支持MPEG4,H.263和H264编解码器。 并可以对 VC-1进行解码。
第3章 相关知识概述
3.1 个人计算机端的开发
3.1.1GCC(for arm-linux)的搭建
(1)我把开发板中的文件复制到虚拟机,然后通过解压的方式解压到图中显示的路径下:
图 3.1
(2)添加环境变量:
图 3.2
为了让修改生效,我用计算机键入如图路径,再键入arm Linux gcc v 看被识别了没有。
3.1.2 Linux操作系统里“集成开发环境”创立
1、Linux操作系统中使用Eclipse进行C/C 开发的意思
这个操作系统就是主要用来进行C语言和c 软件编程的操作系统。内核和应用都是用C/C 主要开发。传统上,开发的程序,使用Linux下的gcc编译C / C 程序。
这样的工作效率很低,编程写一个比较简单的程序可能看不出来什么,倘若如果要编一个很大的程序软件的话,程序文件号很多,需要使用项目或解决方案;此外,增加点数中断,一步实施和变化观察这些得更直接的方法来提高生产率。编程语言现在是非常多,并且具有复杂的函数库、语法和函数名,程序员要记住所有的程序,是很考验记忆力的。
然而Windows操作系统,如果我们编写C语言 或者C ,能用vc。不幸的是,它们只能在Windows操作系统中使用,但Linux平台又如何呢?由于如下原因,我建议开发的C / C 程序使用Eclipse:
首先Eclipse是一个很好的Integrated Development Environment,它是跨平台的,不仅可以在Linux操作系统下使用,而且也能在Windows里用。其次,Eclipse可以使用很多种语言来开发程序,十分方便,节省工作时间。
2、安装教程
1. download
第一步Java运行环境下载:
进入网址
点击Java运行环境 download:
图3.3
图3.4
下一步安装集成开发环境 软件开发工具包。
导航栏输入网址进入网页,点击C :
图3.5
2.安装
首先将下载好的Java运行环境和开发平台到下图目录:
图3.6
接下来右键点击jre图标,点击创建链接:
图3.7
图3.8
(3)把JRE的链接移动至Eclipse目录下,并改名为“jre”:
图3.9
(4)运行:
图3.10
(5)编译成arm版本的可执行程序:
新建项目:
图3.11
图3.12
设置菜单栏下面,把编译器、链接器等“Command”属性添加到“arm.linux.”中去:
图3.13
再编译器经过编译之后就成了可执行的ARM文件。
3.2 Linux操纵系统下进行画面收集
Linux为该应用程序供给了相同的API,允许应用程序可以利用相同的API函数的不同的视频设备进行操纵,从而使得视频系统的发展和维护更加简单。
3.3 摄像头采集数据格式(YUV420)
YUV是一种把亮度参量和色度参数两种分开来表示的像素格式,将他们俩分开表示的好处在于,这样不仅可以消除他们之间的干扰问题,还可以降低色度的采样率。这是一个总称,可以按其具体的安排划分成许多特定的格式。
这种颜色编码方法基本上是用来优化彩色视频信号的。与红绿蓝作比较,其很明显的优势在于只占用少量的宽带。
这种颜色编码方式与红绿蓝之间的的关系:
3.4 对视频的压缩(H.264)
H.264是一和视频编 解码技术。H.264的最大优点是它具有高的数据压缩比。当我们对画面要求一样的情况下,H. 264的压缩比是最高的。低码率起着重要的作用。跟MPEG-2与MPEG-4 ASP等比较,H. 264将很大程度节省用户的流量和下 载需要用时间。H. 264在高压缩 比的同时并且具有高画质。
第4章 系统的总体设计
4.1硬件系统简介
4.1.1 S3C6410 处理器
S3C6410是一款多媒体应用处理器。它由AXI、AHB和APB总线64/32位内部总线结构组成,他能够胜任多种任务。集合多媒体解 码器支持MPEG4/H.263/H.264,并且支持VC1。H/W编解码器支持所有的NTSC以及PAL电视信号的输出,被大量用于消费电子、汽车导航、多媒体终端等。
4.1.2 系统硬件结构
该系统采用OK6410作为平 台,在ARM11, S3C6410的生产中采集,该系统具有128兆字节的DDR RAM和1 GB的NANDFlash,可以加载和运行嵌入式Linux操作系统。该终端的硬件结构图如下所示。
图 4.1 6410系统 硬件结构图
4.2软件总体设计
4.2.1 视频采集
该应用是在Linux的USB视频模块提供相同的API接口,使应用能用相同的API函数对不同的设备进行操作,大大的简化视频系统的发展和维护。V4L2相比V4L 具有更棒的拓展性以及灵活性,并且支持的硬 件设备更多。
Linux 下使用V4L2 进行视频采集的流程如下所示。
图 4.2 视频采集流程图
4.2.2 视频编码
视频由S3C64来编解 码,他有很强的视频编解 码能力,支持MPEG4、H.263和H 264,并可以对VC-1进行解码。
图 4.3 视频压缩流程
第5章 详细设计与实现
5.1硬件实现
我的监控系统是依据Linux来设计的。因为我的监控系统是要用H. 264来进行压缩,所以选择平台就很重要,所以我用S3C64的开发板。CPU有H.264编码器,可以处理普通码流的视频编码。
5.1.1 6410的简单介绍
当今社会,社会进步得非常快,微型电力电子的发展也是日趋迅猛,Advanced RISC Machine的经过了比较长的进步时间,ARM11将为嵌入式开发带来力量。
接下来我们进入正题,介绍一下我们的主角S3C6410处理器,它是一颗三星推出的低能耗、低成本的精简指令集计算机处理器,可广泛应用于电话。S3C6410集成了MFC,支持MPEG4/H.263/H.264编解码器和VC1解码, NRSC和PAL输出。因为这些出色的性能, iPhone也是依靠S3C6410生产的。
5.1.2 飞凌OK6410开发板
飞凌OK6410开发板具有很厉害的的资源和视频 处理实力,能够十分稳定地运行在670MHz主频率上,可以支持移动DDR以及各种NAND闪存。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: