教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

毕业设计视频监控系统的客户端设计(3)

来源:网络收集 时间:2026-03-07
导读: ☉执行、停止或删除下载任务。 视频监控毕业设计 ☉显示下载任务当前状态。 ☉设置下载文件存储路径。 ☉下载失败后可多次重连。 ☉保存下载任务列表。 2.3.4视频播放功能 打开视频播放器VideoPlayer,选择下载的视

☉执行、停止或删除下载任务。

视频监控毕业设计

☉显示下载任务当前状态。

☉设置下载文件存储路径。

☉下载失败后可多次重连。

☉保存下载任务列表。

2.3.4视频播放功能

打开视频播放器VideoPlayer,选择下载的视频文件即可播放,也可对视频文件进行剪切,操作和服务端的操作一样。

☉打开视频播放器VideoPlayer。

☉选择下载的视频文件即可播放。

视频监控毕业设计

3视频监控系统客户端分析与设计

3.1系统总体功能需求

本视频监控系统是一个集实时数据传输处理和信息管理于一身的综合应用系统。系统不仅需要能满足远程用户浏览实时视频、历史录像,控制云台,处理音频报警信息等基本要求,而且需要管理用户登录信息,设置不同的用户权限,进行录像管理,修改视频服务器参数等。这里并不一一详述功能需求,只做一个简单归纳。

图3.1系统总体结构示意图

本文所涉及的客户端系统功能有四大部分:客户端用户登录、视频预览、视频文件下载、视频播放。

3.2系统客户端函数设计

客户端的软件设计主要包括客户端用户登录、视频预览、视频文件下载播放三大部分。

3.2.1客户端函数说明

1. BOOL__stdcall MP4_ClientStartup(UINT nMessage,HWND hWnd);

对客户端初始化。 返回 TRUE表示成功,返回 FALSE 表示失败。 nMessage 表示对应接收程序的消息。 hWnd 表示应用程序窗口句柄。

注:在调用所有其他客户端函数之前调用。

2.BOOL __stdcall MP4_ClientStartCapture(LONG StockHandle);

开始客户端的数据捕获(回调方式,使用 MP4_ClientStart 中的 ReadDataCallBack函数)。

StockHandle:MP4_ClientStart 成功返回的值。

返回 TRUE表示成功,返回 FALSE 表示失败。

视频监控毕业设计

3.BOOL __stdcall MP4_ClientStartCaptureFile(LONG StockHandle, LPTSTR FileName);

开始客户端的数据捕获(直接写文件方式)。

StockHandle:MP4_ClientStart 成功返回的值。

FileName:文件名。

返回 TRUE表示成功,返回 FALSE 表示失败。

4.BOOL __stdcall MP4_ClientAudioVolume(WORD wVolume);

设置当前播放器音量。

返回 TRUE表示成功,返回 FALSE 表示失败。

wVolume:音量值(0-0xffff)

5. BOOL __stdcall MP4_ClientAudioStart(LONG StockHandle);

选定某个播放器播放声音,其他播放器静止。

返回 TRUE表示成功,返回 FALSE 表示失败。

StockHandle:MP4_ClientStart 成功返回的值。

6. BOOL __stdcall MP4_ClientSetBufferNum(LONG StockHandle,WORD wBufNum);

增加接收缓冲区大小。

StockHandle:MP4_ClientStart 成功返回的值。

wBufNum:增加缓冲区个数,0-50。

返回 TRUE表示成功,返回 FALSE 表示失败。

说明: WBufNum值每增加 1,表示接收缓冲区增加 1 帧的数据量。如果以 5 帧/秒的帧率播放,那么 WbufNum=5,表示增加了 5帧的缓冲区。

7. BOOL __stdcall MP4_ClientSetPlayDelay(LONG StockHandle,WORD DelayLen);

视频监控毕业设计

接收多少数据后才开始播放。

StockHandle:MP4_ClientStart 成功返回的值。

DelayLen:预先接收的数据量。单位:K。范围:0-600

返回 TRUE表示成功,返回 FALSE 表示失败。

8. BOOL __stdcall MP4_ClientSetQuality(LONG StockHandle,WORD wPicQuality);

设置图象质量。

StockHandle:MP4_ClientStart 成功返回的值。

wPicQuality:图象质量。LOWQUALITY 表示低图象质量,HIGHQUALITY 表示高图象质量。

返回 TRUE表示成功,返回 FALSE 表示失败。

说明:设置图像质量,当设置成高质量时画面效果好,但 CPU 利用率高。在支持多路播放时,可以设为低质量(LOWQUALITY),以降低 CPU利用率;当某路放大播放时将该路设置成高质量(HIGHQUALITY),以达到好的画面效果。

9. BOOL __stdcall MP4_ClientSetCapPicCallBack(LONG StockHandle, void (CALLBACK* CapPicFun)(long StockHandle, char * pBuf, long nSize, long nWidth, long nHeight, long nStamp, long nType, long nReceaved));

设置抓图回调函数。

StockHandle:MP4_ClientStart 成功返回的值。

10.BOOL __stdcall MP4_ClientSavePicFile(char * pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName);

将抓图得到的图像数据保存成 BMP文件。

pBuf, nSize,nWidth,nHeight, nType 同抓图回调函数中的参数。

sFileName 要保存的文件名。最好以 BMP 作为文件扩展名。

返回 TRUE表示成功,返回 FALSE 表示失败。

说明: 保存函数需要占用的较多 cpu 资源,如果不需要保存图片,则不要

视频监控毕业设计

调用。

3.2.2客户端函数调用顺序说明

客户端必须开始使用网络开发包时,调用 MP4_ClientSetNetPort,之后调用 MP4_ClientStartup; 在结束使用网络开发包时,调用 MP4_ClientCleanup。

以下函数在只能 MP4_ClientStart 之前调用:

MP4_ClientSetShowMode;

MP4_ClientSetTTL;

以下函数在只能 MP4_ClientStart 之后调用:

MP4_ClientStartCapture;

MP4_ClientStartCaptureFile;

MP4_ClientAudioStart;

MP4_ClientAudioVolume;

MP4_ClientSetBufferNum;

MP4_ClientSetPlayDelay;

MP4_ClientSetQuality;

MP4_ClientSetCapPicCallBack;

MP4_ClientSavePicFile;

其他函数可以在 MP4_ClientStartup之后,MP4_ClientCleanup 之前的任何地方调用。

3.3客户端关键技术

图3.2解码流程图

视频监控毕业设计

3.3.1基类CVideoCaptureCard的设计

class CVideoCaptureCard

{

public:

virtual int InitDSPs() = 0;

virtual int DeInitDSPs()=0;

virtual int GetTotalChannels()=0;

virtual int GetDecodeChannelCount()=0;

virtual HANDLE ChannelOpen(int iChannel)=0;

virtual int ChannelClose(int iChannel)=0;

virtual int StartVideoPreview(int iChannel,HWND WndHandle, RECT *rect, int FrameRate, VideoPreviwMode iPreviwMode)=0;

virtual int StopVideoPreview(int iChannel)=0;

virtual int CaptureOriginalImage()=0;

virtual int SetVideoFileTimeLength(float fTimeLength)=0;

virtual int SetVideoQuality(int iChannel,VideoQuality

videoQuality)=0;

virtual int StartVideoCapture(int iChannel, CString strFilename)=0; virtual int StopVideoCapture(int iChannel)=0;

virtual int SetVideoPreviewDatetime(int iChannel,bool

bShowDatetime)=0;

virtual int SetVideoPreviewDisplayInfo(int iChannel,CString strDisplayName,bool bShowDatetime,Vid …… 此处隐藏:3643字,全部文档内容请下载后查看。喜欢就下载吧 ……

毕业设计视频监控系统的客户端设计(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/90139.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)