APP下载

基于S3C6410的嵌入式远程视频监控系统设计研究

2018-05-26毛捷

中国设备工程 2018年10期
关键词:服务器端嵌入式客户端

毛捷

(迪中(上海)网络科技有限公司,上海 200000)

视频监控软件是安全防范系统的重要组成部分,视频监控软件凭借其实时性和私密性被媒体视频会议以及工业和家庭现场的远程监控等领域所广泛应用,并取得了较大的成绩。随着计算机技术的快速发展,视频监控已经逐渐从以往传统的模拟监控逐渐成为当前嵌入式的网络视频服务器技术的网络监控系统。因此,本文主要以嵌入式微处理器的S3C6410为核心,使用Z301摄像头通过USB接口与处理器相连,向S3C6410提供YUY2格式的视频帧。软件设计方面,通过CPU内部集成的MFC模块实现基于H.264的视频流压缩。并将BOA移植到S3C6410板卡上的Linux系统,建立了嵌入式web服务器,为远程客户端提供基于HTTP协议的网络接入方式,通过CGI脚本对远程客户端的请求进行响应,发送经过编码的视频数据包。本文完成了图像的采集、编码、传输、显示模块的设计,并在局域网内进行了调试与验证。实验结果表明:系统设计合理,方案可行。

1 嵌入式监控视频系统的总体结构

硬件系统采用以S3C6410为核心的板卡作为嵌入式硬件开发平台。S3C6410集成了ARM1176JZF-S型号的CPU,正常运行频率可达553MHz,具有高性价比、低功耗等特点。它采用32位内部总线架构,S3C6410内置强大的多媒体处理单元,可进行图像的处理、音频的处理、显示操作和缩放。为了进一步提升实验的效率并将实际的费用降至最低,S3C6410的嵌入式远程视频监控系统的相关技术工作人员经过翻阅资料和以往的经验,从备选的相关设备中选出性价比最为合适的方法进行压缩和工作,在这过程中所选用的是JPEG压缩,其中的图像传感器主要是利用压缩编码芯片来对摄像头所传送的视频数进行处理,并接受原始的图像数据,最后需要通过对应的编码器来将图像进行压缩并通过USB来传输到微处理器中。嵌入式远程视频监控系统主要是分为服务器端和客户端组成,服务器端和客户端又有着不同的功能,S3C6410的嵌入式远程视频监控系统的服务器端主要负责原始图像经过相关的压缩芯片来对实际的编码进行压缩,经过压缩后输出JPEG格式的二进制,通过TCP协议的多播放时将采集的图像通过接口来发送到浏览器中,其中的浏览器客户端主要是可以在进行编写的控件中可以真正的实现与服务器端的进行网络通信、视频图像等功能,再经过服务器进行发布,从而真正的实现远程监控的目的,主体如图1所示。

图1 硬件结构图

2 嵌入式监控视频系统的软件设计

2.1 软件总体结构

由于S3C6410的嵌入式远程视频监控系统的实际模型为客户端-服务器模型,因此,在进行上述两种的其中一种模型中,都需要客户端向服务器发送请求信息,并保证服务器对客户端的请求信息进行响应,以此来真正的实现远程通讯。当前远程服务器端和客户端的通信均采用TCP协议,在进行通讯的过程中需要按照相关的协议进行办事。

因此,该协议主要是面向连接以及有效提供差错控制,以此来有效的避免进行远程监控中出现不必要的差错。也正是如此,S3C6410的嵌入式远程视频监控系统在进行视频的实时监控和传输的实时传输协议RTP(real time transport protocol)以及实时传输控制协议RTCP(real time transport control protocol)。

2.2 服务器端和客户端的软件设计

S3C6410的嵌入式远程视频监控系统采用了套接字接口来有效的实现客户端和服务器端的通讯,其中的套接字主要是由通讯协议。IP以及端口进行组成的,其中的端口主要代表的是通信进程,若是S3C6410的嵌入式远程视频监控系统的使用协议有区别,那么套接字也有一定的区别,并主要表现在流格式、数据包格式以及原始格式。但是,无论是流格式、数据报格式还是原始格式,都使用TCP协议,在进行通信的过程中,相关专业的工作人员还需要保证数据报的格式是对应TCP协议的,在对应该协议的同时,S3C6410的嵌入式远程视频监控系统也是面向无连接状态的,在这一过程中,数据的收发可能并不能保持统一,这就会出现都是数据等情况的发生。与此同时,S3C6410的嵌入式远程视频监控系统主要由客户端与服务器之间的通讯以及视频采集压缩处理的两个功能,其中的客户端应用程序在完成与服务器通讯之外还要显示远程的视频。

3 嵌入式远程视频监控系统的实现

3.1 视频图像采集

S3C6410的嵌入式远程视频监控系统中的视频数据采集压缩模块主要是用于视频数据的实时采集,相关专业的技术人员在进行视频数据采集过程中的视频应用程序,主要是通过标准的系统调用便可以进行不同种类视频的捕获。在S3C6410的嵌入式远程视频监控系统实验中进行视频图像采集中所用到的是Video4 Linux的驱动系统,其中的视频图像采集代码如下。

(1)视频设备开启。

Struct vdIn ⋆vd

I f ((v d-》c d= o p e n(v d-》v i d e o,O-RDWR))= =-1)

Exit-fatal(“ERROR opening interface”);

(2)视频以及图像信息的获取。

Struct vdIn ⋆vd//获取设备相关信息

If (ioctl(vd-》cd,videocgcap,& (VD->ORDWR))= =-1)

Exit-fatal(“could not get video device capability”);//获取图像相关信息

If (ioctl(VIDIOGPICT,& (VD->O-RDWR))<0)

E x i t-f a t a l(“c o u l d n o t g e t v i d e o VIDIOGPICT”);

上述的程序中主要是分为三种状态,首先是初始化的采集窗口以及颜色模式。其中相关专业的技术人员需要将图片的格式设置为JPEG格式,图片的大小为640×320。其次是捕捉视频帧数据,Read (videoIn.fd,videoIn.pF ramebuffer,size)在这里所采用的是直接的读取视频设备,并将视频设备作为设备文件进行图像的取读,从而将IP组播方式进行发出。最后是关闭视频设备,在这过程中的图像采集主要为内存映射方式以及直接取读方式,当S3C6410的嵌入式远程视频监控系统中所要展示的普通文件被映射到相应的地址空间后,便可以与以往的内存一样对S3C6410的嵌入式远程视频监控系统中的文件进行访问。

3.2 视频数据保存及播放实现

对于S3C6410的嵌入式远程视频监控系统中的视频数据保存和播放的实现主要是包括两个方面,分别是视频图像保存以及视频的实时播放,其中的视频图像保存主要是将调用系统函数来创建JPG文件,再通过该文件来调用系统函数填写SOI等标记码所需要的信息,从而将IPEG进行压缩后的相关图像数据接着标记码来进行填入,并调整用相关技术工作人员做好的系统函数来关闭该文件。其次是视频的实时播放,对于这点主要是通过com和Ipicture进行实现的,在这过程中需要对IPicture的对象进行实例化,以此来帮助S3C6410的嵌入式远程视频监控系统进行进一步的视频图像的显示,然后再通过上述的组建将每一帧都连续的绘制在屏幕上,以此来形成动态播放。在这过程中,该组件考虑到S3C6410的嵌入式远程视频监控系统是需要进行多个角度监控的,因此,该组件也可以实现多个终端视频的同步播放。

3.3 图像采集驱动程序模块

对于S3C6410的嵌入式远程视频监控系统中的图像采集驱动程序模块来讲,S3C6410的嵌入式远程视频监控系统中的图像采集驱动程序模块主要是由传感器和压缩芯片所组成的,由于USB的摄像头驱动程序是一个较为复杂的模块,并在无形中增加了独立开发难度。但是,为了有效的解决上述问题,相关的技术人员已经采用支持ZC0301的驱动程序补丁,并将其移植到嵌入式视频服务器中,从而移植成功。当安装成功时,S3C6410的嵌入式远程视频监控系统会在文件的目录中自动生成video的设备文件,通过video的设备文件也能对上述所提及的设备文件的读写来获取视频压缩芯片中的视频流,从而保证S3C6410的嵌入式远程视频监控系统得以正常的运行。

4 结语

在本系统中用VLC对H.264格式的数据进行解码与显示。将客户端主机与服务器目标板连接到一个路由器上面,并且为处于同一网段内目标板与客户端分配静态的IP地址。如图2所示为摄像头采集到的原始图像截图。

总而言之,S3C6410的嵌入式远程视频监控系统是监控系统的新研发产品,更是凭借着体积小、易维护、高可靠性等优秀性能被安全防范系统等重要部门所广泛使用并取得了较大的成绩。由此可见,S3C6410的嵌入式远程视频监控系统仍有较大的发展前景和进一步的改造空间。

参考文献:

[1]高建辉,黄世震.基于H264的远程视频监控系统设计与实现[J].微型机与应用,,2017,36(19):93-94.

[2]赵丹等.基于MJPG-streamer的嵌入式远程视频监控系统[J].单片机与嵌入式系统应用,,2017,17(4):51-54.

[3]陈名松等.基于OpenCV与NAT-DDNS的远程视频监控系统设计[J].电视技术,,2017,41(4):234-238.

[4]李子昌,李智,管四海.自动装载与视频监控远程控制系统[J].微型机与应用,2017,36(1):1-3.

[5]王菲.嵌入式智能家居控制系统的设计[J].电子技术与软件工程,2017(16):193-194.

[6]杜通,刘思园,庄旭菲.基于B/S架构的嵌入式Linux网络视频监控系统的研究与实现[J].科技资讯,2017(14):1-2.

[7]刘明缘,李翔.可移动远程视频监控系统设计与实现[J].电子制作,2017(13):5-6.

猜你喜欢

服务器端嵌入式客户端
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
TS系列红外传感器在嵌入式控制系统中的应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
搭建基于Qt的嵌入式开发平台
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计