Unity3d C#获取海康摄像头直播视频流预览萤石截图实现

前言

视频直播流的画面预览,主要有两种思路:1.将视频流在场景中播放然后截取一张图,保存作为预览,然后停止播放。2.使用三方平台提供的接口完成。我们这里刚好上的是萤石平台说以选用后者方式。

实现流程

通过其开放平台的介绍,将实现流程梳理如下:
Unity3d C#获取海康摄像头直播视频流预览萤石截图实现_第1张图片

实现过程

准备工作

设备添加

这一步就是将监控设备上平台,请自行完成,如果没这步后续将无法进行。

获取相关信息

appKey和secret的获取,通过控制台进入,然后复制并保存备用。
设备编号复制并保存备用。

litjson

主要用于传参和数据解析,自行下载。

请求接口

接口的请求使用了UnityWebRequest,具体用法参考之前的帖子:
UnityWebRequest请求案例

请求令牌

请求地址:https://open.ys7.com/api/lapp/token/get
请求方式:POST
请求参数:
Unity3d C#获取海康摄像头直播视频流预览萤石截图实现_第2张图片

返回字段:
Unity3d C#获取海康摄像头直播视频流预览萤石截图实现_第3张图片

截图请求

请求地址:https://open.ys7.com/api/lapp/device/capture
请求方式:POST
请求参数:
Unity3d C#获取海康摄像头直播视频流预览萤石截图实现_第4张图片

返回字段:
Unity3d C#获取海康摄像头直播视频流预览萤石截图实现_第5张图片

请求截图

请求地址:具体截图地址(如:https://img.ys7.com//group2/M00/74/22/CmGdBVjBVDCAaFNZAAD4cHwdlXA833.jpg)
请求方式:GET
请求参数:无
返回字段:图片数据

显示图片

将图片转换为texture2d后,新建sprite并赋值给图片即可。

结语

整个过程将近2s左右能将截图显示在场景中,效果还可以,最好设置间隔几分钟更新一次预览图,它建议是4s以上。

你可能感兴趣的:(Unity3D,Unity3d监控,视频预览图,视频流预览,海康监控预览)