- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于H264智能家居视频监控系统设计与实现
基于H264智能家居视频监控系统设计与实现
摘 要:随着智能家居技术、电子信息技术及多媒体技术的发展,嵌入式视频监控系统已成为视频监控领域的发展趋势。根据该技术设计了一种基于H264编码的视频监控系统。该系统采用S5PV210处理器为核心,通过Linux操作系统V4L2的视频采集模块采集图像。将采集的图像通过x264编码后,用RTP传输协议传输到服务器端。实验表明,该视频监控系统在传输可靠、准确的情况下,图像的帧率可以达到15 fps。
关键词:智能家居;视频监控;H264;RTP
中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2016)02-00-02
0 引 言
随着社会的发展,人们对于家居安全的重视性已经逐渐增强,而普通的家居安防例如安全门、保安等已经达不到人们对安全的要求。得益于物联网技术的发展,智能家居得到了迅速发展。通过嵌入式智能家居控制系统能够将视频的采集、编码、传输集为一体,并有效的将采集到的图像进行传输。使得人们能够实时监控家庭的安全情况以及如果出现安全意外能够将犯罪嫌疑人的面貌拍下来帮助警察破案。而RTP协议是基于UDP应用层的针对多媒体数据流的一种实时传输协议。RTP协议能够得到传输的有效反馈及开销最小化使得传输效率最佳,因此非常适合传输实时数据。
1 系统整体方案设计
智能家居视频监控系统主要分为三个部分:视频图像的采集、图像的编码、编码图像的传输。图1所示是该系统的整体结构设计图。
视频图像采集是将USB摄像头连接到S5PV210开发板,通过Linux系统的V4L2音视频采集接口采集USB的原始图像数据。由于原始图像数据比较大所以需要进行图像的编码,而H264编码格式比其他编码方式有更高的数据压缩比。在同等图像质量条件下比MPEG-2g高2~3倍,比MPEG-4高1.5~2倍。因此经过H264压缩过后的视频数据在网络传输过程中所需要的宽带更少,也很经济。而图像的编码是通过x264开源视频编码库对采集到的原始视频图像进行编码,编码为H264格式的频流。图像传输通过开源RTP库的JLIBRTP来实现图像数据的传输。
2 系统硬件设计
智能家居监控系统的硬件主要包括处理器、内存、闪存、USB摄像头等。而本文设计的智能家居视频监控系统采用的是三星Contex-A8 S5PV210处理器,运行速度最高可以达到1GHz,1 G的DDR2内存充分保证了系统及程序运行的流畅性。1 G的SLC Nand Flash 使得系统有更大的存储空间。而且其中的HDMI接口、USB接口、WiFi接口为开发板功能的扩充提供了强大的保障。USB摄像头采用的是蓝色妖姬M2200摄像头,像素值达到1 200万像素,完全满足对于智能家居视频监控的要求。由于S5PV210开发板有外接的USB接口使得安装变的简单。
3 系统软件设计
3.1 V4L2的图像采集
V4L2(Video for Linux2)一般在Linux下进行图像及音频的采集。V4L2提供了一套API接口用以采集音频和视频数据,其中,具体实现是Linux系统提供的,而且摄像头对于Linux系统的支持要求不高,只需要支持UVC即可通过V4L2来进行图像采集。
Linux对于USB摄像头驱动的支持及V4L2的支持需要在内核中进行配置。下载Linux源码对配置文件进行配置make menuconfig,在Linux内核配置菜单中选中Video for Linux 和Video Capture 这两个选项即可配置成功。配置后USB摄像头连接S5PV开发板时会打印出摄像头的信息在终端上。图2所示为V4L2的图像采集流程图。
V4L2的视频采集主要是通过ioctl函数传递不同的控制命令及结构体来设置采集图像的参数。其中ioctl函数的原型为:int ioctl(int fd, int request,void *argp)。第一个参数是打开摄像头设备后返回的设备描述符;第二个参数是传入的控制命令;第三个参数是传入的控制结构体或者需要返回的参数。具体的采集流程如图2所示。首先打开摄像头设备,一般为/dev/video文件,打开文件后查询摄像头支持的图像格式例如亮度、对比度及图片格式等。查询后再根据摄像头支持的图片格式设置采集的图片格式。设置好支持申请缓冲区来进行图像采集,将采集到的原始图像进行编码及传输。当采集完成后关闭摄像头设备。
3.2 x264图像编码
采集到的原始数据一帧帧的图像数据量大,不适合网络实时传输。对原始数据进行编码就显得十分重要,本系统采用H264编码的主要原因是H264的优势比较大。H264编码具有更高的编码效率,更好的视频质量以及强势的网络
原创力文档


文档评论(0)