当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:随着智能家居技术、电子信息技术及多媒体技术的发展,嵌入式视频监控系统已成为视频监控领域的发展趋势。根据该技术设计了一种基于H264编码的视频监控系统。该系统采用S5PV210处理器为核心,通过Linux操作系统V4L2的视频采集模块采集图像。将采集的图像通过x264编码后,用RTP传输协议传输到服务器端。实验表明,该视频监控系统在传输可靠、准确的情况下,图像的帧率可以达到15 fps。

引 言

随着社会的发展,人们对于家居安全的重视性已经逐渐增强,而普通的家居安防例如安全门、保安等已经达不到人们对安全的要求。得益于物联网技术的发展,智能家居得到了迅速发展。通过嵌入式智能家居控制系统能够将视频的采集、编码、传输集为一体,并有效的将采集到的图像进行传输。使得人们能够实时监控家庭的安全情况以及如果出现安全意外能够将犯罪嫌疑人的面貌拍下来帮助警察破案。而 RTP 协议是基于UDP 应用层的针对多媒体数据流的一种实时传输协议。RTP协议能够得到传输的有效反馈及开销最小化使得传输效率最佳,因此非常适合传输实时数据。

1 系统整体方案设计

智能家居视频监控系统主要分为三个部分 :视频图像的采集、图像的编码、编码图像的传输。图 1 所示是该系统的整体结构设计图。

基于H264的智能家居视频监控系统的设计与实现


视频图像采集是将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 文件,打开文件后查询摄像头支持的图像格式例如亮度、对比度及图片格式等。查询后再根据摄像头支持的图片格式设置采集的图片格式。设置好支持申请缓冲区来进行图像采集,将采集到的原始图像进行编码及传输。当采集完成后关闭摄像头设备。

基于H264的智能家居视频监控系统的设计与实现


3.2 x264 图像编码 

采集到的原始数据一帧帧的图像数据量大,不适合网络 实时传输。对原始数据进行编码就显得十分重要,本系统采 用 H264 编码的主要原因是 H264 的优势比较大。H264 编码 具有更高的编码效率,更好的视频质量以及强势的网络适应 能力。能够根据不同的传输环境采用不同的传播和播放速率。 而且 H264 的编码选项少,适合开发者进行编码设置。其错误 恢复功能使图像的传输质量得到了保证。


由于 H264 格式的视频流占用的带宽较小,而 x264 是开 源的,H264 视频编码库是最好的有损视频编码器。x264 是 开源的编码库但是开发板的根文件系统中并不支持,所以需要 对 x264 库进行交叉编译移植。交叉编译后将编译后的动态库 文件及相关的头文件拷贝到 S5PV210 开发板的根文件系统中, 为 x264 图像编码搭建好运行环境。在通过 V4L2 采集到摄像 头的原始数据后需要进行 H264 编码。H264 的编码步骤如下:


(1)通过函数 x264_encoder_open 来设置及初始化 x264 编码参数。 

(2)将采集到的原始图像数据的缓冲区指针传入编码函数 x264_encoder_encode 进行编码。如果采集的原始图片格式不 是 YUV420 格式,需要首先将图片格式转化为 YUV420 格式 后再进行编码。

(3)编码完成后关闭编码器句柄。

3.3 RTP 视频传输




RTP 协议是一种为了多媒体数据实时传输的高效及准确而现实的网络传输协议。支持单播、多播和组播。RTP 协议是基于UDP 协议的上层协议。由于RTP 协议不能保证数据准确地传输,所以需要和RTCP 协议一起来控制数据传输,其中RTCP 协议主要是对数据的检测和控制。

在传输数据的框架中, 原始图像经过 x264 编码后为H264 格式数据流,图像编码后的NAL 单元的数据可能会大于MTU 值,所以需要对NAL 单元进行分包处理,接收端再进行组包恢复数据。而 RTP 协议的传输流程比较复杂,所以选择开源的RTP 协议实现源码 JLIBRTP 来实现对数据的发送。由于系统不支持JLIBRTP 库所以需要交叉编译 JLIBRTP 库文件,编译好之后将需要的库文件及头文件拷贝到根文件系统上为数据传输搭建好运行环境。

RTP 传输数据需要先进行初始化配置相应的网络,再获取数据进行传输。当数据传输完成之后关闭相应的套接字。流程如图 3 所示。

基于H264的智能家居视频监控系统的设计与实现


4 功能测试 

为了测试数据传输是否正确,通过客户端连接到服务器 获取数据并查看画面的完整性。采集的图像如图 4 所示。

基于H264的智能家居视频监控系统的设计与实现




5 结 语

本文基于 H264 设计与实现了一种智能家居视频监控系 统方案。主要分析了通过 Linux 的 V4L2 系统来采集摄像头 的原始图像,将原始图像用 x264 开源编码库编码原始图像为 H264 格式的数据流,最终通过 RTP 和 RTCP 网络传输协议 来传输数据。实现了图像的实时采集。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭