unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上
原理是使用sdk获取视频流,格式为YUV,然后分离YUV通道到三张不同的Texture2D上,通过shader将三个通道重新输出为原始图像。
我将所用的各个部分已经整理成一个压缩包,免积分下载
压缩包结构如下
使用步骤
1 DLL:放在Plugins文件夹下
2 材质和着色器:里边带了一个材质和一个着色器 (Unlit/l420RGB),将这个着色器指定为材质的着色器
3 脚本:将两个脚本都导入,然后将HIKCamera挂载到一个Plane上,并将暴露的VideoMaterial属性指定为上一步的材质
4 将脚本所在的Plane的材质指定为上一步的材质
5 写一个脚本调用HIKCamera里的OpenCamera()方法,参数为网络摄像头的ip,用户名和密码,即可看到plane上显示摄像头画面