Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南

马肤

温馨提示:这篇文章已超过472天没有更新,请注意相关的内容是否还可用!

摘要:本文介绍了如何在Unity中接入海康摄像头,涉及WebGL和PC平台。文章主要讲述了避坑专用技巧,包括摄像头的兼容性问题、网络配置难题以及性能优化等方面。通过本文的指导,开发者可以顺利实现海康摄像头与Unity的集成,提升项目的稳定性和用户体验。

一、项目背景与介绍

为满足物流园区的数字孪生系统需求,需接入海康威视的摄像头云台,在Unity场景中,点击监控摄像头图标时,应弹框播放现场摄像头画面。

二、所需准备

1、Unity2023.3.0a14版本。

2、海康威视设备。

3、OpenAPI安全认证库(C#) V1.0.1。

4、AVProVideo视频流播放插件(针对PC可使用UMP替代,但UMP在WebGL发布时可能出现报错)。

5、Postman等其他辅助工具。

三、重要说明

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第1张

1、Unity版本:使用WebGPU提升场景和整体渲染效果,关于Unity2023的WebGPU相关内容可查询官网,Unity 6.0版本将推出该设置选项。

2、OpenAPI安全认证库:海康接口需进行安全认证才能正常访问,可在海康开放平台下载,使用过程中存在诸多“坑”,后续将详细说明。

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第2张

四、详细步骤与注意事项

1、线下园区安装好海康威视设备后,每台设备都会获得一个唯一的设备标(CameraIndexCode),Unity端会使用这个ID去请求接口,保持设备正常运行,内网部署设备管理后台,负责与前端进行交互请求,此部分海康会安排专业人员协助完成。

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第3张

2、Unity端事项:

* 导入OpenAPI认证库(C#),该库已封装基于HTTP的POST和GET请求,以及设置平台信息的接口SetPlatformInfo,在HttpUtil脚本内,还提供AK和SK生成签名的相关接口。

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第4张

注意点接口由海康提供,可支持非WebGL端项目开发,但在发布WebGL时,点击事件可能导致直接卡死,原因是WebGL不支持IO操作,特别是System.IO相关接口,通常读取StreamingAssets文件夹下文件会用File.ReadAllTxt()等接口,但在WebGL上这些接口不可用,需要使用WWW或UnityWebRequest下载读取。

解决办法分析海康的Get接口和Post接口,发现其使用到Stream和StreamReader两个API,这就是导致WebGL端Http请求卡死的原因,因此可以使用UnityWebRequest这个API去重写Post和Get方法,获取监控设备推流地址的接口也需要特别处理。

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第5张

跨域请求问题在WebGL上测试时,发现Http请求跨域的问题,这是因为发布部署到本地nginx服务上,而Http请求的接口地址在另一个域名下,解决跨域问题可能需要服务器端或nginx配置,但最简单的办法是将WebGL部署到与接口同一域名下。

3、AVProVideo在WebGL平台设置:分享具体的配置方法。

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第6张

4、Unity端集成:详细指导如何在Unity中集成海康摄像头画面。

五、总结与资源分享

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第7张

在开发过程中会遇到许多挑战和“坑”,但每一份耕耘都有收获,希望未来Unity数字孪生系统能有一套成熟的解决方案,兼容各个平台,项目在WebGL端场景渲染上做了大量优化以保证流畅运行(FPS>60)。

六、项目截图与应用展示

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第8张

分享部分项目截图与应用展示。

七、资源分享与源码下载

Unity 接入海康摄像头(WebGL,PC),避坑专用,Unity接入海康摄像头(WebGL与PC端),避坑指南 第9张

WebGL平台基于AVProVideo播放海康设备监控实时画面demo源码将分享在以下Demo中,并附上源码下载地址。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码