Foxtable(狐表)用户栏目专家坐堂 → 海康摄像机的连接问题


  共有4291人关注过本帖树形打印复制链接

主题:海康摄像机的连接问题

帅哥哟,离线,有人找我吗?
aidimeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
海康摄像机的连接问题  发帖心情 Post By:2019/8/8 15:21:00 [显示全部帖子]

之前发过类似的求助,之前思路太乱了,现在重新整理下,希望得到大家的帮助  先谢谢了
之前是在网上找的c#代码 现在想依托 海康的例子来做。海康给的例子在c#中可以运行,我也生成了个dll文件

但在实际使用过程中会遇到下面的报错


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190808151549.png
图片点击可在新窗口打开查看

我把海康的c# 例子放到附件里,里面有 帮助文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1-实时预览示例代码一.rar


生成的dll 文件比较大 不能上传,例子是 海康的源码,只要根据说明 复制下文件就可以使用了

希望得到您的指点

谢谢


[此贴子已经被作者于2019/8/8 15:30:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/9 7:56:00 [显示全部帖子]

还是提示 未定义的类型
---------------------------
错误
---------------------------
编译错误:未定义类型“PreviewDemo.CHCNetSDK.NET_DVR_DEVICEINFO_V30”。



错误代码:Dim DeviceInfo = New PreviewDemo.CHCNetSDK.NET_DVR_DEVICEINFO_V30()
---------------------------
确定   
---------------------------


 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/9 10:11:00 [显示全部帖子]

添加引用就报另一个错误了 

System.DllNotFoundException: 无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

   在 PreviewDemo.CHCNetSDK.NET_DVR_Login_V30(String sDVRIP, Int32 wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30& lpDeviceInfo)

   在 UserCode.Test()




是按照海康帮助弄得 

【注意事项】
------------------------------------
1. 请到海康威视官网下载最新版本设备网络SDK:http://www.hikvision.com/Cn/download_more_401.html

2. 请将设备网络SDK开发包【库文件】里的HCNetSDK.dll、HCCore.dll、HCNetSDKCom文件夹、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、ssleay32.dll、libeay32.dll等文件均拷贝到bin文件夹下。HCNetSDKCom文件夹(包含里面的功能组件dll库文件)需要和HCNetSDK.dll、HCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改。

3. 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删除HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。

4. 如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因。

[此贴子已经被作者于2019/8/9 10:14:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/9 12:44:00 [显示全部帖子]

就是仅仅添加后  PreviewDemo.dll 引用后 出现的报错 找不到../bin/  
文件

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/9 15:09:00 [显示全部帖子]

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150133.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150301.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150516.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/13 9:01:00 [显示全部帖子]

谢谢甜老师的耐心指导,终于可以使用了,谢谢

 

在谢 图像预览过程中有个问题咨询下

c#代码如下:

CHCNetSDK.NET_DVR_PREVIEWINFO lpPreviewInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO();
                lpPreviewInfo.hPlayWnd = RealPlayWnd.Handle;//预览窗口
                lpPreviewInfo.lChannel = Int16.Parse(textBoxChannel.Text);//预te览的设备通道
                lpPreviewInfo.dwStreamType = 0;//码流类型:0-主码流,1-子码流,2-码流3,3-码流4,以此类推
                lpPreviewInfo.dwLinkMode = 0;//连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP
                lpPreviewInfo.bBlocked = true; //0- 非阻塞取流,1- 阻塞取流
                lpPreviewInfo.dwDisplayBufNum = 1; //播放库播放缓冲区最大缓冲帧数
                lpPreviewInfo.byProtoType = 0;
                lpPreviewInfo.byPreviewMode = 0;

 

预览窗口在fox中怎么实现啊

 


 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/13 10:10:00 [显示全部帖子]

这样取得了句柄值,预览画面怎么处理呢


 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/13 10:31:00 [显示全部帖子]

显示镜头的画面

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/13 11:36:00 [显示全部帖子]

没 图像显示  但返回值是正确的

Dim pUser As IntPtr = New IntPtr()
Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1")
Dim lpPreviewInfo = new PreviewDemo.CHCNetSDK.NET_DVR_PREVIEWINFO()
lpPreviewInfo.hPlayWnd = e.form.controls("PictureBox1").basecontrol.Handle 
'MessageBox.Show(lpPreviewInfo.hPlayWnd)
                lpPreviewInfo.lChannel = 1
                lpPreviewInfo.dwStreamType = 0
                lpPreviewInfo.dwLinkMode = 0
                lpPreviewInfo.bBlocked = True
                lpPreviewInfo.dwDisplayBufNum = 1
                lpPreviewInfo.byProtoType = 0
                lpPreviewInfo.byPreviewMode = 0
 Dim m_lRealHandle As Integer  = PreviewDemo.CHCNetSDK.NET_DVR_RealPlay_V40(i, lpPreviewInfo, Nothing, pUser)
MessageBox.Show(m_lRealHandle)

m_lRealHandle 返回值是大于1的数值。我怀疑是lpPreviewInfo.hPlayWnd = e.form.controls("PictureBox1").basecontrol.Handle  有问题,加了 'MessageBox.Show(lpPreviewInfo.hPlayWnd) 有报错

 

如下 

从类型“IntPtr”到类型“String”的转换无效。

 

 

[此贴子已经被作者于2019/8/13 11:38:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:811 积分:7791 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2019/8/13 13:05:00 [显示全部帖子]

lpPreviewInfo.hPlayWnd = e.form.controls("panel1").basecontrol.Handle  

可以了  谢谢 

 

但是 连续 预览几个后发现 整个电脑变慢了

 

fox 占用了过多内存

 

[此贴子已经被作者于2019/8/13 14:39:34编辑过]

 回到顶部
总数 12 1 2 下一页