使用wpf调用海康威视视频

Posted papermask

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用wpf调用海康威视视频相关的知识,希望对你有一定的参考价值。

前情:本文仅记录WPF调用sdk的方法。
1.下载海康威视sdk
链接地址:https://www.hikvision.com/cn/download_more_570.html

2.将官方demo的winform代码转到wpf中,此时发现winform中使用picturebox加载视频,且需要传入句柄。
所以想到使用wpf调用winform的控件。

引用System.Windows.Forms、System.Windows.Presentation和WindowsFormsIntegration。

技术图片

在XAML界面中添加标签。

xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"

添加WindowsFormsHost控件:
打开工具箱,在所有WPF组件中选择WindowsFormsHost,如果没有该控件,可关闭工具箱并从视图中重新打开工具箱
在WindowsFormsHost控件中添加picturebox控件。

参考:
<Grid HorizontalAlignment="Left" Height="373" Margin="528,54,0,0" VerticalAlignment="Top" Width="445">
        <WindowsFormsHost MaxHeight="300" Name="pictureBoxHost">
            <wf:PictureBox />
        </WindowsFormsHost >
</Grid >

后台使用:

var picbox = pictureHost.Child as System.Windows.Forms.PictureBox;//获取句柄
lpPreviewInfo.hPlayWnd = picbox.Handle;//预览窗口

完成wpf调用。
运行测试,结果报错,提示找不到动态库,此时动态库已经按照官方提示放入到了运行路径下。
查看从demo中拷贝过来的封装库文件CHCNetSDK发现加载动态库的方式是在bin路径下
技术图片
我们项目的默认生成是在bin下的DuBug文件夹下。

修改所有的@"../bin/HCNetSDK.dll"。
将所有的@"../bin/HCNetSDK.dll"替换为@"HCNetSDK.dll"
测试完成

以上是关于使用wpf调用海康威视视频的主要内容,如果未能解决你的问题,请参考以下文章

海康威视web插件bug

海康威视 NVR 视频转换 ffmpeg

ipad怎样可以浏览海康威视web端的视频

海康威视网络摄像头安装教程

海康威视网络无参数

海康威视数字400万像素摄像头带宽是多少