unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上

原理是使用sdk获取视频流,格式为YUV,然后分离YUV通道到三张不同的Texture2D上,通过shader将三个通道重新输出为原始图像。

我将所用的各个部分已经整理成一个压缩包,免积分下载

压缩包结构如下
unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上_第1张图片

使用步骤
1 DLL:放在Plugins文件夹下

2 材质和着色器:里边带了一个材质和一个着色器 (Unlit/l420RGB),将这个着色器指定为材质的着色器

3 脚本:将两个脚本都导入,然后将HIKCamera挂载到一个Plane上,并将暴露的VideoMaterial属性指定为上一步的材质
unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上_第2张图片

unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上_第3张图片
4 将脚本所在的Plane的材质指定为上一步的材质
unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上_第4张图片

5 写一个脚本调用HIKCamera里的OpenCamera()方法,参数为网络摄像头的ip,用户名和密码,即可看到plane上显示摄像头画面

你可能感兴趣的:(网络摄像头,unity)