ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:804.66KB ,
资源ID:10523071      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10523071.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机学习笔记3.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机学习笔记3.docx

1、计算机学习笔记3内部文件海康网络摄像头视频预览测试程序(2015.7.272015.7.31)版本编制者王琳珂编制日期2015-07-31审核者审核日期批准者批准日期签字日期2015年07月31日目录1. 准备工作 32. 实现视频预览功能的详细步骤 42.1 创建工程并添加所需库目录 42.2 添加头文件及创建菜单 62.3 启动预览和结束预览函数的功能实现 73. 测试程序运行结果 91. 准备工作本次工作需要用到的Windows下设备网络SDK:说明:HCNetSDK.dll、HCCore.dll必须加载,其他组件,用户可以根据需要 选择其中的一部分或者全部。更新SDK时,HCNetSD

2、K.dll、HCCore.dll 以及HCNetSDKCom文件夹下的功能组件库文件都需要更新加载,且 HCNetSDKCom文件夹名不能修改。预览和与预览相关的模块流程图:图中虚线框部分的模块是与预览模块相关,必须在启动预览后才能调用,这些模块之间是并列的关系,各自完成相应的功能。2. 实现视频预览功能的详细步骤2.1 创建工程并添加所需库目录新建win32项目,工程名为“Haikang”,路径设置为:D:Program Files (x86)Microsoft Visual Studio 11.0Projects。新建工程完成之后首先运行一下,这样可以产生一个含有exe文件的Debug目录

3、。拷贝头文件和库文件:将目录海康摄像头光盘ROOTDevelopmentToolsClient SDKHCNetSDKV5.0.3.20_build20150318_win32_CNincCn中的头文件HCNetSDK.h加到工程目录下面,即D:Program Files (x86)Microsoft Visual Studio 11.0ProjectsHaikang.将目录海康摄像头光盘ROOTDevelopment ToolsClient SDKHCNetSDKV5.0.3.20_build20150318_win32_CNlib中的库文件(.lib,.dll)添加到工程目录下。添加之后如

4、下图:总结:lib文件夹下的头文件(.h)和静态链接库(.lib)放在工程目录下面,动态链接库(.dll)放在exe文件所在的Debug目录下面,此外,lib文件夹下的HCNetSDKCom直接copy到exe文件所在的Debug目录中。工程Haikang右击属性配置属性C/C+常规附加目录包含,添加目录D:Program Files (x86)Microsoft Visual Studio 11.0ProjectsHaikang,即HCNetSDK.h所在的目录。工程Haikang右击属性配置属性链接器常规附加库目录,添加目录D:Program Files (x86)Microsoft Vi

5、sual Studio 11.0ProjectsHaikang,D:Program Files (x86)Microsoft Visual Studio 11.0ProjectsHaikangDebug即.lib和.dll文件所在的目录。注意以下所有程序均写在源文件Haikang.cpp中。2.2 添加头文件及创建菜单添加外部接口头文件#include HCNetSDK.h 引入静态链接库HCNetSDK.lib:#pragma comment(lib,HCNetSDK.lib) 在资源视图中添加菜单“启动预览(&P)”“停止预览(&S)”声明上述两个菜单所对应的函数:void RealPla

6、y();void EndPlay();在主窗口消息处理函数LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)分析菜单中加入case ID_32771: RealPlay(); break; case ID_32772: EndPlay(); break;其中ID_32771和ID_32772分别是启动预览和停止预览的ID 号。2.3 启动预览和结束预览函数的功能实现将初始化函数BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)中的HW

7、ND hWnd设置为全局变量,即写到函数外面,并定义全局变量HDC hDC=0;然后在函数InitInstance中对hDC赋值:hDC = GetWindowDC(hWnd);启动预览函数RealPlay()的功能实现:void RealPlay() / 初始化 NET_DVR_Init(); /设置连接时间与重连时间 NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); / 注册设备 /LONG lUserID;(全局变量) NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUs

8、erID = NET_DVR_Login_V30(192.168.1.64, 8000, admin, zhylxxjs201412, &struDeviceInfo); if (lUserID 0) /在窗口上输出错误提示 TextOut(hDC,200,200,_T(Login error),11); /通过变量error查看错误信息 int error=NET_DVR_GetLastError(); NET_DVR_Cleanup(); return; /* NET_DVR_Login_V30用户注册设备。LONG NET_DVR_Login_V30( char *sDVRIP, WOR

9、D wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo);ParameterssDVRIP in 设备IP地址或是静态域名,字符数不大于128个 wServerPort in 设备端口号 sUserName in 登录的用户名 sPassword in 用户密码 lpDeviceInfo out 设备信息 Return Values -1表示失败,其他值表示返回的用户ID值。该用户ID具有唯一性,后续对设备的操作都需要通过此ID实现。获取错误码调用NET_DVR_GetLastErr

10、or*/ /启动预览并设置回调数据流 /LONG lRealPlayHandle;(全局变量) NET_DVR_PREVIEWINFO struPlayInfo = 0; /需要SDK解码时句柄设为有效值,仅取流不解码时可设为空struPlayInfo.hPlayWnd = hWnd; struPlayInfo.lChannel = 1; /预览通道号/0-主码流,1-子码流,2-码流3,3-码流4,以此类推struPlayInfo.dwStreamType = 0; /0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP stru

11、PlayInfo.dwLinkMode = 0; lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, NULL, NULL); if (lRealPlayHandle 0) TextOut(hDC,200,200,_T(NET_DVR_RealPlay_V40 error),26); int error=NET_DVR_GetLastError(); NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); return; /* NET_DVR_RealPlay_V40实时预览(支持多码流)

12、。LONG NET_DVR_RealPlay_V40( LONG lUserID, LPNET_DVR_PREVIEWINFO lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30, void *pUser);ParameterslUserID in NET_DVR_Login或NET_DVR_Login_V30的返回值 lpPreviewInfo in 预览参数 fRealDataCallBack_V30 in 码流数据回调函数 pUser in 用户数据 Return Values-1表示失败,其他值作为NET_DVR_StopRealPlay等函数的句柄参数。获取错误码调用NET_DVR_GetLastError*/结束预览函数EndPlay()的功能实现:void EndPlay()/关闭预览 NET_DVR_StopRealPlay(lRealPlayHandle); /注销用户 NET_DVR_Logout(lUserID); /释放SDK资源 NET_DVR_Cleanup(); return;3. 测试程序运行结果运行程序,文件启动预览点击结束预览时,视频会停在预览的最后一帧图片上。

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

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