毕业设计视频监控系统的客户端设计毕业设计(编辑修改稿)内容摘要:

放。 系统客户端 函数 设计 客户端的软件设计主要包括 客户端用户登录、 视频预览 、视频文件 下载播放三大部分。 客户端函数说明 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 表示失败。 视频监控系统的客户端设计 11 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:音量值 (00xffff) 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:增加缓冲区个数, 050。 返回 TRUE 表示成功,返回 FALSE 表示失败。 说明: WBufNum 值每增加 1,表示接收缓冲区增加 1 帧的数据量。 如果以 5 帧 /秒的帧率播放,那么 WbufNum=5,表示增加了 5帧的缓冲区。 7. BOOL __stdcall MP4_ClientSetPlayDelay(LONG StockHandle,WORD DelayLen)。 视频监控系统的客户端设计 12 接收多少数据后才开始播放。 StockHandle: MP4_ClientStart 成功返回的值。 DelayLen:预先接收的 数据量。 单位 :K。 范围: 0600 返回 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 成功返回的值。 __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 资源,如果不需要保存图片,则不要视频监控系统的客户端设计 13 调用。 客户端函数调用顺序说明 客户端必须开始使用网络开发包时,调用 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 之前的任何地方调用。 客户端 关键技术 图 解码流程图 视频监控系统的客户端设计 14 基 类 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,VideoPreviwMode iPreviwMode)=0。 virtual int SetInputVideoPosition(int iChannel,UINT x,UINT y)=0。 virtual int SetPreviewOverlayMode(bool bTrue)=0。 virtual int SetOverlayColorKey(COLORREF DestColorKey)=0。 virtual void StartServer()=0。 virtual void StopServer()=0。 }。 类 DownloadThread 的设计 class CDownloadThread : public CWinThread { DECLARE_DYNCREATE(CDownloadThread) protected: CInterSession m_InterSession。 CFtpConnection *m_pFtpConnection。 CFile m_File。 视频监控系统的客户端设计 15 CString m_strResult。 void DownloadFile(CString amp。 source, CString amp。 dest)。 // Attributes public: CDownloadThread()。 // protected constructor used by dynamic creation virtual ~CDownloadThread()。 CWnd m_wndDummy。 // Operations public: BOOL m_bTransferFailed。 DWORD m_dwTransferType。 BOOL CreateLocalDirectory(LPCTSTR lpszDirectory)。 void WaitForProgressDialog()。 CWnd *m_pTransferManager。 CString m_strCurrentDirectory。 CString GetLastError()。 CStringArray m_strLocalNames。 CStringArray m_strRemoteNames。 CString m_strLocalName。 CString m_strRemoteName。 CString m_strPassword。 CString m_strUserName。 CString m_strServerName。 int m_nRetries。 int m_nRetryDelay。 int m_nPort。 int m_bUsePASVMode。 DWORD m_nConnectionTimeout。 DWORD m_dwFileLength。 virtual void Delete()。 HANDLE m_hEventDead。 HANDLE m_hEventKill。 void KillThread()。 CProgressDlg m_ProgressDlg。 char m_szStatus[1024]。 // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDownloadThread) public: virtual BOOL In。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。