首页 > 编程语言 >c#对接海康双目客流相机SDK调用示例

c#对接海康双目客流相机SDK调用示例

时间:2023-11-06 12:11:06浏览次数:36  
标签:previewInfo CHCNetSDK 示例 c# lRealHandle NET SDK DVR

c# 调用视频并显示在WinForm的PictureBox控制上面,实现一直播放视频的功能

 

首先需要使用visual studio nuget 下载安装海康客流相机的SDK包

然后根据以下代码和页面来设计一下 实现逻辑 就可以实现播放实时视频的需求了

private int m_lRealHandle = -1;

 

public MainForm()
{
InitializeComponent();
}


private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
{
// 停止实时预览
if (m_lRealHandle >= 0)
{
CHCNetSDK.CHCNetSDK.NET_DVR_StopRealPlay(m_lRealHandle);
}
// 登出设备
CHCNetSDK.CHCNetSDK.NET_DVR_Logout(int.Parse(textBoxChannel.Text));

// 释放SDK资源
CHCNetSDK.CHCNetSDK.NET_DVR_Cleanup();
}

private void btnLogin_Click(object sender, EventArgs e)
{
// 初始化SDK
bool initResult = CHCNetSDK.CHCNetSDK.NET_DVR_Init();
if (!initResult)
{
MessageBox.Show("SDK初始化失败");
return;
}

// 登录设备
CHCNetSDK.CHCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo = new CHCNetSDK.CHCNetSDK.NET_DVR_DEVICEINFO_V30();
int userId = CHCNetSDK.CHCNetSDK.NET_DVR_Login_V30(textBoxIP.Text, 8000, textBoxUserName.Text, textBoxPassword.Text, ref deviceInfo);

if (userId < 0)
{
MessageBox.Show("登录设备失败");
CHCNetSDK.CHCNetSDK.NET_DVR_Cleanup(); // 清理SDK资源
return;
}

// 设置预览参数
CHCNetSDK.CHCNetSDK.NET_DVR_PREVIEWINFO previewInfo = new CHCNetSDK.CHCNetSDK.NET_DVR_PREVIEWINFO();
previewInfo.hPlayWnd = RealPlayWnd.Handle; // 设置显示窗口为PictureBox
previewInfo.lChannel = 1; // 通道号
previewInfo.dwStreamType = 1; // 主码流
previewInfo.dwLinkMode = 0; // TCP模式

// 开始实时预览
m_lRealHandle = CHCNetSDK.CHCNetSDK.NET_DVR_RealPlay_V40(userId, ref previewInfo, null, IntPtr.Zero);
// 获取实时客流数据(示例)
//int customerCount = GetCustomerCountFromDevice();
//labelCustomerCount.Text = "实时客流:" + customerCount.ToString();
if (m_lRealHandle < 0)
{
MessageBox.Show("实时预览失败");
CHCNetSDK.CHCNetSDK.NET_DVR_Logout(userId); // 登出设备
CHCNetSDK.CHCNetSDK.NET_DVR_Cleanup(); // 清理SDK资源
return;
}
}

 

标签:previewInfo,CHCNetSDK,示例,c#,lRealHandle,NET,SDK,DVR
From: https://www.cnblogs.com/jtsmise/p/17812369.html

相关文章

  • linux 中top命令显示完整的command
    命令比较长时,显示不全(全称,全名),可以用top-c  ......
  • 在Mac OS上如何运行jar文件
     问题1:%java-jarTASTS-MacOS-X64.jar***WARNING:DisplaymustbecreatedonmainthreadduetoCocoarestrictions.Exceptioninthread"main"org.eclipse.swt.SWTException:Invalidthreadaccess   atorg.eclipse.swt.SWT.error(SWT.java:4533)   at......
  • Mac OS 10.15 安装 java 1.8
     1.到Oracle官网下载JDK1.8安装包 选择接受证书协议,然后选择对应的MacOSX一栏下载SDK,下载sdk必须要登录才可以下载,大家有需要的可以点击这里,百度网盘提取码:c62d下载完成后,我们得到一个dmg的安装包,名称为jdk-8u211-macosx-x64.dmg,表示这是java8版本号为211的JDK安装包。 2......
  • 关于Mac OS虚拟机下共享文件夹的方法
     1、确保左上角苹果标志的旁边是“Finder”;2、点击"Finder";3、选择“偏好设置设置”;4、然后在“通用”标签下勾选“已连接服务器”;5、重启。    FinderPreference--General--连接服务器 设置边栏: 重启之后可以看到共享文件夹: ......
  • VMware Workstation 15 Pro 安装macOS 10.15 Catalina (cdr文件版)
    VMwareWorkstation15Pro安装macOS10.15Catalina(cdr文件版) 所需工具:1.VMwareworkstation15Pro2.Unlocker (https://github.com/paolo-projects/unlocker/releases)https://github.com/paolo-projects/unlocker/releases/download/3.0.3/unlocker.zip3.macOScdr安......
  • Linux Centos安装JDK1.8教程
    第一步:先下载JDK1.8,可以去官网下载,也可以直接这里的:下载地址:链接:https://pan.baidu.com/s/1f1EDWvG-GzpQRJaC_W4SpA密码:9pj1先检查是否有安装JDK:#rpm-qa|grepjdk先把系统自带的干掉(如果没有直接跳过):   rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64......
  • Java eclipse中shell窗口怎么居中显示
    protectedvoidcreateContents(){shell=newShell();shell.setSize(800,600);shell.setText(title);intwidth=shell.getDisplay().getBounds().width;//找到createContents这个方法,得到屏幕的宽度。intheight=shell.getDi......
  • c#中的析构函数
    用于在对象被销毁时执行清理操作。它与构造函数相反,构造函数用于在对象创建时执行初始化操作。析构函数是用于释放资源和执行清理操作的特殊方法析构函数的名称与类名相同,但前面加上一个波浪线(~)作为前缀析构函数在对象被销毁之前自动调用//析构函数~ClassName(){//......
  • Eclipse: export project such that Windows and Mac can both run it (SWT)
     [root@localhostaimin]#java-jarTASTS.jarExceptioninthread"main"java.lang.UnsatisfiedLinkError:CouldnotloadSWTlibrary.Reasons:   noswt-win32-4930r7injava.library.path   noswt-win32injava.library.path   Can'tloadlibr......
  • Java jar: A JNI error has occurred, please check your installation and try again
    java-verion和javac-version版本不一致 E:\temp\eclipseWorkSpace>java-jarTASTS.jarExceptioninthread"main"java.lang.NoClassDefFoundError:org/eclipse/swt/widgets/DecorationsCausedby:java.lang.ClassNotFoundException:org.eclipse.swt.widge......