- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于H.264远程数字视频监控系统
基于H.264远程数字视频监控系统
摘要:在日新月异的现代社会,人们对自身以及周边环境的安全也越来越重视,这时视频监控以其方便、直观、丰富的信息内容而被广泛的应用于各类场所。本文以Linux操作系统和S3C6410开发板为平台,采用USB视频摄像头,并进行bootloader、kernel、根文件系统、H.264视频编码库的配置及移植。实现了在PC机服务器监控终端上进行实时监控和存储图片。实验结果表明,该视频监控系统稳定,采集图像清晰。
关键词:视频监控 Linux H.264
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2014)12-0005-01
1 硬件系统结构
系统硬件包括了ARM微处理器和外围硬件设备,在本次设计中我们选择了三星公司的tiny6410处理器的ARM11系列的S3C6410芯片作为整个视频监控系统的核心硬件。摄像头选择了中星微的301vUSB摄像头。SDRAM芯片和FLASH芯片是ARM中的主要存储设备,其中前者为系统运行和临时数据提供存储空间,后者中存储系统运行所需要的代码、内核以及应用程序等。
2 软件系统结构
系统软件采用了先进的B/S软件架构,按照模块化的设计方法对整个系统功能进行了设计,不同模块之间利用接口函数进行数据信息的调用。B/S架构是在C/S架构的基础上进行设计的。由于系统中视频信号的压缩采用了H.264算法,它具备较高的信号编码效率,对网络传输系统的码流结构具有较强的适应性,同时增加了数据信息的差错恢复能力,在视频信号网络传输中取得了较好的应用效果。视频数据传输采用了RTP/RTCP协议和组播的方式,既保证了数据信息的实时传送,又保证了视频数据信息的传输质量。在工作过程中,服务端首先对USB摄像头进行初始化操作,然后由摄像头完成对视频信息的采集,通过H.264编码程序对获得的视频信号进行编码处理,并且将编码后的视频数据压缩成RTP流,通过网络传送到客户端。客户端接收到RTP流后,先对其进行解码处理,然后利用相应的播放器对其进行回放操作。
2.1 Bootloader的移植
本次系统开发过程中采用了U-Boot-1.1.6,开发人员将事先编译好的映像文件由JTAG口存放到Linux系统的开发板中,然后点击开发板上的复位键,就完成了对Linux系统的Bootlaoder移植。
2.2 Linux内核的移植
在Linux系统的源文件common-smdk.c中,找到smdk_default_nand_part语句,对其进行分区操作。然后开发人员可以使用make zImage命令对内核进行相应的编译,在系统源代码的根文件目录下生成相应的映像文件,最后利用串口将生成的映像文件链接到S3C6140的FLASH中,即完成了对Linux的移植。
2.3 根文件系统的建立
首先进行BusyBox的编译处理,它是Linux系统开发过程中常用的一个工具软件,内存空间较小,主要存放Linux系统中的bin目录、sbin目录、usr目录和相应的Linuxrc文件。在系统开发时,可以在系统的硬件平台中对其源代码进行配置,即将busybox-1.13.0进行解压缩后,将其Makefile文件进行相应的修改。然后对其进行相应的配置,并且将配置好的文件,以.config的名字进行保存。第三进行BusyBox的编译和安装,这是系统代码中就有增加一个_install目录,将其进行编译就完成根文件系统的创建。
2.4 H.264优化算法结构
(1)去掉视频信息中携带的冗余程序代码:系统设计过程中已经完成对H.264编码算法的设置和优化,所以可将去除视频信息中携带的跟编码器无关的冗余代码,如跟多参考帧相关的代码,降低编码过程中程序跳转的次数和需要判断的条件数量。
(2)正确使用循环和分支操作:本次设计过程中我们将相应代码进行展开处理,将其分解成内核循环程序和外核循环程序,虽然增加了程序的长度,但是提高了代码执行速度。
3 应用模块设计
3.1 USB摄像头驱动
硬件选型设计中,我们选择了中星微301v的摄像头,Linux系统中同样也包括了该摄像头的驱动程序,我们只需完成相应参数的配置即可,即将摄像头驱动程序中的 ZC3XX USB Camera Driver语句,修改成301v USB Camera Driver,同时为了能够使用V4L的要求,还需要对其驱动进行配置,将相关语句修改为V4L USB devices,然后再将驱动程序进行重新编译,并且将得到的映像文件下载到S3C6140的开发板中。
3.2 视频采集和编码模块的同步
在系统开发过程中设置了两个缓冲区域,工作过
原创力文档


文档评论(0)