应用软件方案与功能实现说明文档.docx

上传人:b****4 文档编号:5445963 上传时间:2023-05-08 格式:DOCX 页数:19 大小:330.61KB
下载 相关 举报
应用软件方案与功能实现说明文档.docx_第1页
第1页 / 共19页
应用软件方案与功能实现说明文档.docx_第2页
第2页 / 共19页
应用软件方案与功能实现说明文档.docx_第3页
第3页 / 共19页
应用软件方案与功能实现说明文档.docx_第4页
第4页 / 共19页
应用软件方案与功能实现说明文档.docx_第5页
第5页 / 共19页
应用软件方案与功能实现说明文档.docx_第6页
第6页 / 共19页
应用软件方案与功能实现说明文档.docx_第7页
第7页 / 共19页
应用软件方案与功能实现说明文档.docx_第8页
第8页 / 共19页
应用软件方案与功能实现说明文档.docx_第9页
第9页 / 共19页
应用软件方案与功能实现说明文档.docx_第10页
第10页 / 共19页
应用软件方案与功能实现说明文档.docx_第11页
第11页 / 共19页
应用软件方案与功能实现说明文档.docx_第12页
第12页 / 共19页
应用软件方案与功能实现说明文档.docx_第13页
第13页 / 共19页
应用软件方案与功能实现说明文档.docx_第14页
第14页 / 共19页
应用软件方案与功能实现说明文档.docx_第15页
第15页 / 共19页
应用软件方案与功能实现说明文档.docx_第16页
第16页 / 共19页
应用软件方案与功能实现说明文档.docx_第17页
第17页 / 共19页
应用软件方案与功能实现说明文档.docx_第18页
第18页 / 共19页
应用软件方案与功能实现说明文档.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

应用软件方案与功能实现说明文档.docx

《应用软件方案与功能实现说明文档.docx》由会员分享,可在线阅读,更多相关《应用软件方案与功能实现说明文档.docx(19页珍藏版)》请在冰点文库上搜索。

应用软件方案与功能实现说明文档.docx

应用软件方案与功能实现说明文档

 

流媒体米集处理模块

车载处理设备

系统部署图

1车载监控系统概述

整套监控系统将包括车载设备、网络服务器、客户端三大组成部分•客户端通过服务器地中转与车载设备间接通信,以实现从车载设备接收监控信息和向车载设备发送控制指令等•所预计地主要功能将包括视频音频监控,酒精检测,传感器报警,语音对讲,远程云台控制等.车载设备通过3G无线数据模块无线接入网络,以实现车载移动监控•

远程视频监控模块

远程控制模块

语音对讲模块

流媒体播放模块

监测报警

模块

数据存储模块

整个系统部署结构如图,其中:

车载设备连接模拟摄像机,并通过3G数据模块拨号连接网络•实现视频音频采集,可以把实时音频视频发送至服务器•并且可以挂接硬盘存储设备,把采集地视频和音频存储至硬盘•存储地视频可通过网络点播,并可以通过模拟输出端口直接把存储地视频音频输出到电视机进行播放,播放时有图形操作界

面.b5E2RGbCAP

车载设备地通过带酒精度传感器地外接设备进行酒精检测•酒精检测后将检测数值传到服务器,并发送提醒短信到用户手机•在本地对酒精值进行分析和声音播报.plEanqFDPw

车载设备地报警传感器安装在需要地位置,检测到非法入侵时,可通过3G模

块以发送手机短信地方法通知用户•

车载设备可从服务器接收音频数据并且进行播放•

服务器可将车载设备地视频音频数据转发至客户端,可以把来自客户端地指

令信息和音频数据转发至车载设备•

客户端可接收视频音频数据并进行播放,可以控制车载设备地摄像机云台,

可以通过话筒向车载设备讲话.

客户端与网络服务器逻辑分开,服务器可以同时连接多个车载设备和多个客户端•并把每个客户端与该客户地若干设备对应•根据实际需要,PC客户端也可以并入服务器系统.DXDiTa9E3d

1.1系统功能流程

1.服务器监听连接请求,服务器分别通过针对双方地TCP控制端口监听来自监控前端和来自客户端地TCP连接.

2.前端设备注册,当有监控前端连接到服务器后,监控前端会发送注册指令信息到服务器,指令信息中地数据区包含设备号信息.并连接到语音流转发TCP端口.服务器将该设备注册为在线设备.RTCrpUDGiT

3客户端登陆,当客户端连接到服务器后,客户端会发送指令信息到服务器,

指令信息中地数据区包含用户名和密码•服务器需对登陆请求进行处理,发送应答信息,接受或者拒绝•若拒绝,应答指令中数据区包含错误信息,用户名密码错误或者设备被占用等•登陆成功后向服务器连接视音频流接收TCP端

口,此端口校验成功后连接•并开启一个UDP端口监听来自该客户端地语音流.5PCzVD7HxA

4.用户设备列表,用户成功登陆后,服务器需对该用户有权限访问地在线设备

列表,并将列表发送至客户端•指令信息中地数据区中存放设备列表信

息.jLBHrnAlLg

5.用户指令转发,用户对某个前端发送控制指令时,将指令转发到对应地监控前端.

6.视音频传输,当服务器接收到视频请求指令后,服务器开启TCP端口监听来

自前端地连接请求.前端设备通过此TCP端口连接服务器,服务器接收到来自监控前端地音频、视频流时,通过视频音频流转发专用TCP端口,将数据转

发至对应地客户端.XHAQX74J0X

7.用户指令处理,当从客户端对服务器发送指令时,服务器接收并处理.例如用

户修改密码,数据区会包括新地密码,服务器需要进行数据库更新.LDAYtRyKfE

8.语音对讲,当收到语音对讲指令时,服务器开启一个UDP端口监听来自客户端地数据流,并通过语音流转发专用TCP端口转发至对应地前端.Zzz6ZB2Ltk

9.断开连接,TCP连接断开后,注销设备,并通过该端口继续监听.

1.2数据流程图

灰色底纹字体表示地数据服务器不做处理,只转发数据

接收视频流音频流

客户端交互

客户端

用户校验登陆

登陆服务器

用户管理

TCP

发送用户指令

发送设备列表

接收设备列表

接收控制指令

发送控制指令

转发

TCP

接收

视频流1

视频流

音频流1

音频流

接收

发送

语音流

UDP

语音流

数据库

输出

视频流

音频流

用户信息:

用户ID

登陆密码

所有权限

车载视频监控系统地数据流程图

2车载前端方案概述

车载设备配备视音频处理芯片,可以连接最多4路摄像机,可连接GPS设备和报警传感器等设备,在Linux系统上运行车载监控端地应用程序,实现各功能模块.通过3G无线数据模块联网,与服务器进行连接•并通过服务器把与客户端进行数据交互,包括音视频流地发送,指令消息地收发,音频数据地接收•车载设

备在客户端请求任一路或多路实时视频音频时,将视频音频编码后进行封装,通

过服务器转发给客户端;也可应客户端请求查找并调用本地存储地视频音频数据,发送至客户端•客户端可接收来自客户端地音频数据并解码播放•设备启动时

硬件平台

传感器模拟摄像机

视频音频处理芯片

或接受到客户端指令时,会进行酒精检测.dvzfvkwMIl

视频采集处理模块

音频采集处理模块

酒精检测模块

网络通信模块

网络指令处理模块

云台控制模块

应用软件层

车载监控前端系统架构

数据存储模块

红外检测模块

硬件层

系统软件层

3G数据传输设备

车载设备系统架构图

3前端软件功能模块

1.视频处理模块,实现多路实时视频数据采集、图像处理、基于H.264技术地

编解码压缩与数据存储;可进行存储数据地查找和调用•可通过模拟视频输出端口对存储地视频进行播放•车载设备从摄像机采集视频音频数据,并将每一个摄像机获取地视频数据缩放为2种分辨率视频流,一路高清视频数据压缩后地数据保存在本地硬盘,另外一路较低分辨率地可压缩后通过网络传输到服务器.rqyn14ZNXI

2.音频处理模块,实现多路实时音频数据采集,基于G.711-U技术地编解码压

缩,编码后地数据进行本地存储,也可通过网络传输;存储数据地查找和调

用.可通过模拟音频输出端口对存储地音频进行播放.EmxvxOtOco

3.网络通信模块,设备启动时通过3G数据模块使用ppp协议拨号接入网络,与网络服务器进行连接•把数据进行封装,通过服务器与客户端间接通信,进行数据交互.并可通过AT指令发送手机短信.SixE2yXPq5

4.网络指令处理模块,系统启动后采用TCP协议向服务器连接,建立TCP指令通道,通道建立后先向服务器发送注册信息.之后进行监听,从服务器接收转发自客户端地指令,并进行处理.6ewMyirQFL

5.云台控制模块,接受到云台控制指令后,进行处理.采用RS485通信接口通

信控制云台,实现云台控制.

6.酒精检测模块,在设备启动后或接到客户端地指令后,进行酒精检测.酒精检

测后将检测数值传到服务器,并发送提醒短信到用户手机.并在本地对酒精值进行分析和声音播报.kavU42VRUs

7.自动报警模块,红外传感器被触发后,系统可检测到并经由3G模块发送报

警手机短信.

8.语音对讲模块,可接收来自客户端地语音流,采用G.711-U算法解码并实现

播放.

4.软件结构与功能实现说明

pc客户端功能概述

应用软件采用多线程实现,Xxx_tsk.c中包含每个独立线程

1.intxxx_tskCreate(CAPTURE_CreatePrm*prm)

创建线程结构,为线程分配内存.

OSA_cmemAlloc()申请内存空间.

OSA_cmemAllocCached()申请内存空间(缓存模式).

OSA_cmemGetPhysAddr()映射物理地址.

2.intxxx_tskDelete()

清除线程占用地内存.

OSA_cmemFree()释放内存区.

3.intxxx_tskRun()

线程处理入口函数

Intxxx_tskMain()

线程地主函数

OSA_msgGetPrm()读取指令存储队列

OSA_tskWaitMsg()监听线程控制指令

OSA_tskAckOrFreeMsg()清空指令存储区当前指令

4.Intxxx_sendCmd()

发送线程控制指令

OSA_mbxSendMsg()发送指令到指令存储区

5.intxxx_create(xxx_CreatePrm*prm)

创建线程

OSA_tskCreate()创建线程,运行处理主函数

OSA_mbxCreate()创建线程指令存储队列

6.intxxx_delete()

删除线程

OSA_tskDelete()删除线程

OSA_mbxDelete()删除线程指令存储区

视频采集

视频处理地实现涉及3个线程.视频采集线程、视频编码线程和存储处理线程

图4-1视频处理模块流程图

Capture_tsk.c中是视频采集线程地实现,包括视频数据采集和缩放

1.通过MCVIP_getBuf(),MCVIP_getBuflnfo()两个函数获取经tvp5158芯片采集得到地yuv422图像数据.实现VIDIOC_DQBUF,出队列以取得已采集数据地帧缓冲,取得原始采集数据.y6v3ALoS89

2.再通过MCVIP_putBuf()实现VIDIOC_QBUF,将缓冲重新入队列尾,这样可以循环米集.

3.CAPTURE_tskProcessFrame(中做地是视频图像地缩放.通过ENCODE_getEmptyBuf()申请视频编码缓冲队列中地空buffer,将输出buffer设置为编码压缩地输入区.ENCODE_putFullBuf()将存储有处理后数据地buffer入视频编码队列.M2ub6vSTnP

4.支持2路输出缩放,可做双码流输出.

5.CAPTURE_tskCalcReszClkDiv()传入参数.

6.DRV_reszRun()进行缩放.缩放后地数据在ENCODE_getEmptyBuf()申请地

buffer中等待压缩.oYujCfmucw

视频压缩

Encode_tsk.c中为视频压缩线程地实现.Encode_tsk.c中采集缩放后通过

Encode_sendCmd(发送ENCODE_CMD_RUN指令,控制压缩函数地执行压缩多帧图像.eUts8ZQVRd

1.设置压缩分辨率

vidEncCreatePrm.width=

vidEncCreatePrm.height=

vidEncCreatePrm.offsetH=

vidEncCreatePrm.offsetV=

2.设置压缩比特率,即编码码率

pChInfo->newBitrate=

3.通过OSA_bufGetFull()和OSA_bufGetBuflnfo()申请视频编码缓冲队列内地一个buffer出队列,作为编码器输入buffer.编码后OSA_bufPutEmpty()将缓冲区入编码缓冲队列.sQsAEJkW5T

4.WRITER_getEmptyBuf()申请存储缓冲队列中地空buffer,将输出buffer设置为存储地输入区.WRITER_putFullBuf()将存储有处理后数据地buffer入存储队歹U.GMsIasNXkA

5.ALG_vidEncRun()进行压缩.压缩后地数据在WRITER_getEmptyBuf()申请地buffer中等待存储和网传.TIrRGchYzg

音频米集压缩

向处理线程发

送消息

图4-2音频处理流程图

音频米用G.711-方式编码.在Audio_tsk.c中为音频米集编码线程.

1.gAUDIO_ctrl.pCreatePrm()为MCVIP_CreatePrm()类型地结构体,其中包含了声音参数设置.7EqZcWLZNX

2.AUDIO_Record()调用MCVIP_audioRecord()获取音频数据.

3.AudioWRITER_getEmptyBuf()申请音频存储缓冲队列中地空buffer,将输出

buffer设置为存储地输入区.AudioWRITER_putFullBuf()将存储有处理后数据地buffer入音频存储队列.lzq7IGfO2E

4.AUDIO_audioEncode()压缩音频数据.编码后地数据在AudioWRITER_getEmptyBuf()申请地buffer中等待压缩.zvpgeqJ1hk

流媒体存储

Writer_tsk.c中为视频和音频地存储线程地实现.Encode_tsk.c中编码结束后通

过WRITER_sendCmd()发送WRITER_CMD_RUN和AUDWRITER_CMD_RUN

指令控制流媒体存储线程中存储函数地执行.NrpoJac3v1

1.每一帧视频编码后WRITER_putFullBuf()调用WRITER_sendCmd()发送指令WRITER_CMD_RUN到指令队列.WRITER_tskRun()中通过OSA_bufGetFull()和OSA_bufGetBuflnfo()申请视频存储缓冲队列内地一个buffer出队列,存储后调用OSA_bufPutEmpty()将存储缓冲区入视频存储队列.1nowfTG4KI

2.每一帧视频编码后AudioWRITER_putFullBuf()调用WRITER_sendCmd()发送指令AUDWRITER_CMD_RUN到指令队列.AudWRITER_tskRun()中通过OSA_bufGetFull()和OSA_bufGetBuflnfo()申请音频存储缓冲队列内地一个buffer出队列,存储后调用OSA_bufPutEmpty()将存储缓冲区入音频存储队列.fjnFLDa5Zo

3.WRITER_fileSaveRun()进行流媒体存储.在存储地同时,调用函数videostreamFunc(进行网络视频传输,audiostreamFunc(进行网络音频传输.tfnNhnE6e5

网络通信

图5-4指令通信处理流程图

Rawsockio.c中是网络通信地实现丄SOCK为指令通信通道.CSOCK为语音接

收通道.DSOCK为流媒体发送通道.HbmVN777sL

1.MainSocketConnect()中创建了3个TCP套接字.设置3个套接字地参数.connect_to_server(中实现了本地向服务器地连接wi4jRB8Hs

2.ReadSocketData(为建立连接后对数据接收处理地实现丄SOCK对接收地数

据进行处理,通过*msgfunc[cmd]函数指针调用指令处理函数.CSOCK调用

AUDIO_tskTalkBack()对语音流数据进行循环接收,解码播放.DSOCK不做接

受,建立后等待通过该通道发送流媒体数据.83lcPA59W9

指令处理

Msghandler.c中定义了网络指令与指令处理入口函数地映射表.通过

*msgfunc[cmd]调用指令对应地指令处理函数.Process.c中是各指令处理函数地实现.mZkklkzaaP

流媒体传输

1.Vstream.c文件中videostreamFunc()为视频网络传输地实现.SystemInfo.StreamEnable为视频网络传输地标识开关.当接受到视频网络传输地指令并建立传输通道口,变开启视频传输.AVktR^bpw

2.Astream.c文件中audiostreamFunc()为音频网络传输地实现.SystemInfo.aStreamEnable为音频网络传输地标识开关.当接受到音频网络传输地指令并建立传输通道口,便开启音频传输.ORjBnOwcEd

3.数据包格式

数据包头为3字节:

typedefstruct_TEST_PACK_HEAD

{

unsignedcharFrameType;//帧格式视频I帧、P帧、音频帧

unsignedshortPackLoadLength;〃载荷数据长度

}TEST_PACK_HEAD;

载荷数据长度最大为1024字节.载荷数据超过1021字节地话进行帧切割操作.

酒精检测

旨令

图5-5酒精检测流程图

Wine_tsk.c中是酒精检测线程地实现."/dev/ttySO"是RS485设备文件,通过

RS485接收读取酒精检测设备地数值."/dev/dm365_gpios"是GPIO设备文件,用

于读取IO口数值.2MiJTy0dTT

1.set_speed(和set_parity()函数用于设置RS485参数.

2.通过设置IO口值控制RS485读取,然后读取RS485接收地酒精参数.格式为

“‘WB精值+饮酒程度”.gIiSpiue7A

3.接收数值后进行分析.然后通过AUDIO_audioDecode()和AudioPlayback()解码并播放声音提示文件.uEh0U1Yfmh

4.通过TCP指令通信通道向客户端发送测试报告指令,并调用sendMessage()

发送短信报警.

通过Lsock向服

务器发送报告

消息

收到扌

旨令

1

r

数值分析

1

F

语音播报

1

短信报告

图5-6红外检测流程图

红外检测

Gpio_tsk.c中是网络通信地实现.

1系统运行后线程开始执行,GPIO设备

fdser=open("/dev/dm365_gpios",O_RDWR);

2进行循环读取IO口数据

count=read(fd1,buf,6);〃读取IO数据

接收数值后进行分析.然后可通过AUDIO_audioDecode()和AudioPlayback()解码

并播放声音提示文件JAgSqLsgBX

通过TCP指令通信通道向客户端发送报警指令,并调用sendMessage发送短信

报警.

3短信发送通过3G网卡进行.

fd=open("/dev/ttyUSB2",O_RDWR|O_NOCTTY);〃打开3G数据设备

WwghWvVhPE

通过AT指令发送短信,使用pdu方式发送中文短信.

版权申明

本文部分内容,包括文字、图片、以及设计等在网上搜集整理.

版权为个人所有

Thisarticleineludessomeparts,includingtext,pictures,

anddesign.Copyrightispersonalownership.asfpsfpi4k

用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其

他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本

文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.ooeyYZTjj1

Usersmayusethecontentsorservicesofthisarticle

forpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevant

Obligee.BkeGulnkxl

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任•PgdOOsRlM。

Reproductionorquotationofthecontentofthisarticle

mustbereasonableandgood-faithcitationfortheuseofnews

orinformativepublicfreeinformation.Itshallnot

misinterpretormodifytheoriginalintentionofthecontent

ofthisarticle,andshallbearlegalliabilitysuchas

copyright.3cdxwckm15

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2