更新记录

1.0.2(2023-06-29)

修复异常情况可能导致的闪退

1.0.1(2023-05-31)

海康视频SDK V2.1.0 DCloud初版


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


插件使用说明

注意事项

  1. 购买本插件前,请先试用,并充分自测确认满足需求之后再行购买。一经购买,概不退还;
  2. 如有使用上的疑问、bug或者要求定制插件,可以【】联系作者;
  3. 本插件支持定制,定制费用另算;
  4. 请在合法范围内使用,若使用本插件做非法开发,本方概不负责。

插件使用示例

官方对UI类功能的扩展,只能在 nvue 文件中使用,不需要引入即可直接使用。

manifest.json 原生插件配置中勾选云端插件,云打包后生效。

<dc-hikvideo style="width: 750rpx; height: 400rpx; background-color: #000000;" ref="hikComponent" @***="***" @onTalk="onTalk" @saveImage="saveImage"></dc-hikvideo>

***

1.预览|回放结果回调

@*** 参数说明: 参数存放在detail中

detail参数说明

成员名 数据类型 说明
status Number 四种状态 0:播放成功 1:播放失败 2:取流异常 3:播放结束
errorCode String 错误码, 只有1和2才有值

2.语音对讲结果回调

@onTalk 参数说明: 参数存放在detail中

detail参数说明

成员名 数据类型 说明
status Number 四种状态 0:播放成功 1:播放失败 2:取流异常 3:播放结束
errorCode String 错误码, 只有1和2才有值

3.截屏后保存图片回调

@saveImage 参数说明: 参数存放在detail中

detail参数说明

成员名 数据类型 说明
status Number 0:保存成功 1:保存失败
errorCode String 错误描述“保存失败”

视频核心功能使用

实时预览

// 播放前设置播放配置(可选)
let config = {
    hardDecode: true,// 使用硬解码  Android, iOS
    privateData: true,// 开启智能信息  Android, iOS
}
this.$refs.hikComponent.setPlayConfig(config);
// 设置播放参数
// realPlayUrl 为预览短链接, 需要通过调用openApi获取
// headers 为请求参数, 不需要可不传或者传null
this.$refs.hikComponent.setDataSource(realPlayUrl, headers);
// 预览
this.$refs.hikComponent.start();
// 关闭预览
this.$refs.hikComponent.stop();
// 播放结果回调
// e.detail.status 四种状态 0:播放成功 1:播放失败 2:取流异常 3:播放结束
// e.detail.errorCode(错误码)只有1和2才有值
***: function(e) {

}

网络录像回放

// 播放前设置播放配置(可选)
let config = {
    hardDecode: true,// 使用硬解码  Android, iOS
    privateData: true,// 开启智能信息  Android, iOS
}
this.$refs.hikComponent.setPlayConfig(config);
// 设置回放参数
// playbackUrl 为回放短链接, 需要通过调用openApi获取
// headers 为请求参数
// startTime: 开始时间,必传,yyyy-MM-dd'T'HH:mm:ss.SSS+08:00时间格式
// endTime: 结束时间,必传,yyyy-MM-dd'T'HH:mm:ss.SSS+08:00时间格式
let headers = {
    startTime: "2021-07-29T00:00:00.000+08:00",
    endTime: "2021-07-29T23:59:59.000+08:00"
}
this.$refs.hikComponent.setDataSource(playbackUrl, headers);
// 开启回放
this.$refs.hikComponent.start();
// 关闭回放
this.$refs.hikComponent.stop();
// 播放结果回调
// e.detail.status 四种状态 0:播放成功 1:播放失败 2:取流异常 3:播放结束
// e.detail.errorCode(错误码)只有1和2才有值
***: function(e) {

}

语音对讲

// 设置对讲参数
//talkUrl 为对讲短链接,需要通过调用openApi获取
// headers 为请求参数, 不需要可不传或者传null
this.$refs.hikComponent.setVoiceDataSource(talkUrl, null);
// 开启对讲
this.$refs.hikComponent.startVoiceTalk();
// 关闭对讲
this.$refs.hikComponent.stopVoiceTalk();
// 播放结果回调
// e.detail.status 四种状态 0:播放成功 1:播放失败 2:取流异常 3:播放结束
// e.detail.errorCode(错误码)只有1和2才有值
onTalk: function(e) {

}

组件Api说明

1初始化

1.1 设置视频配置

this.$refs.hikComponent.setPlayConfig(playConfig);

playConfig为Map数据类型, 包含以下成员

成员名 数据类型 必填 说明 适用
hardDecode Boolean 否 是否使用硬解码,默认 NO Android、iOS
privateData Boolean 否 是否显示智能信息,默认 NO Android、iOS
timeout int 否 取流超时时间,单位秒,默认 20s Android、iOS
secretKey String 否 解密秘钥。如果码流进行了加密,需要设置播放密码 Android、iOS
waterConfigs 字符串数组Array 否 水印信息 iOS
bufferLength int 否 流缓冲区大小,默认为5M 格式:5*1024*1024 iOS
waterConfig Map 否 水印 Android
playBuffer int 否 *** Android
channelNum int 否 萤石参数-通道号 暂不支持
deviceSerial String 否 萤石参数-序列号 暂不支持
verifyCode String 否 萤石参数-验证码 暂不支持

Android参数waterConfig说明

成员名 数据类型 必填 说明
isWaterTrans int 否
userWaterContent 字符串数组Array 否
waterOffset Map数组Array 否
waterFontColor int 否
waterFontWidth int 否
waterFontHeight int 否

Android参数waterOffset说明

成员名 数据类型 必填 说明
OffsetX int 否
OffsetY int 否

2视频播放

2.1设置视频播放参数

this.$refs.hikComponent.setDataSource(path, headers);

参数说明

成员名 数据类型 必填 说明
path String 是 预览取流 URL,不能为空
headers Map 否 其他请求参数

已定义HeaderParams

成员名 数据类型 说明
token String 用于 headers 中传递 token 的 key
startTime Map 用于 headers 中传递回放开始时间的 key
endTime Map 用于 headers 中传递回放结束时间的 key

2.2开始播放

this.$refs.hikComponent.start();

2.3停止播放

this.$refs.hikComponent.stop();

2.4销毁播放器

this.$refs.hikComponent.destoryPlayer();

2.5恢复取流

this.$refs.hikComponent.startStream();

2.6暂停取流

this.$refs.hikComponent.stopStream();

3实时预览

3.1切换码流

this.$refs.hikComponent.stopStream(qualityType, (res) => {

});
__接口描述__
切换码流清晰度接口,用于码流无缝切换高清-标清,不会出现黑屏。
__返回值__  
res返回0代表操作成功, 1代表操作失败
备注
使用码流平滑切换接口之前,必须先调用 设置视频播放参数 接口,设置新的取流 url;

参数说明

成员名 数据类型 必填 说明
qualityType int 是 码流质量
callback function 否 结果回调

qualityType参数说明

成员名 数据类型 说明
0 int QualityTypeHD
1 int QualityTypeSD
2 int QualityTypeFL

4 网络录像回放

4.1 按绝对时间回放定位

this.$refs.hikComponent.seekPlayback(seekTime);
**接口描述**
在录像回放的开始时间和结束时间之间进行播放定位控制。
**参数说明**
seekTime, String, 必填, 定位录像文件的开始时间,时间格式为'2021-07- 29T00:00:00.000+08:00'
**返回值**
无
**备注**
1. 使用按绝对时间回放定位接口之前,必须先调用开始回放接口; 
2. 定位播放时,时间格式为'yyyy-MM-dd'T'HH:mm:ss.SSSZ'。

4.2 查询当前播放时间戳

this.$refs.hikComponent.getOSDTime((res) =>{

});
**接口描述**
查询当前播放时间戳。
**参数说明**
callback function 非必填 结果回调
**返回值**
res: -1 表示失败,大于等于 0 时表示当前回放的时间戳,单位:毫秒。

4.3 暂停回放

this.$refs.hikComponent.pause((res) => {

})
**接口描述**
暂停录像回放取流及解码播放。
**参数说明**
callback, function, 非必填, 结果回调
**返回值**
res: 0成功 其他为错误码

4.4 恢复回放

this.$refs.hikComponent.resume((res) => {

})
**接口描述**
恢复录像回放取流及解码播放。
**参数说明**
callback, function, 非必填, 结果回调
**返回值**
res: 0成功 其他为错误码

4.5 设置回放倍速

this.$refs.hikComponent.setPlaybackSpeed(speed, (res) => {

})
**接口描述**
设置回放的播放速度,默认一倍速。
**参数说明**
speed, float, 必填, 倍速值(1/8, 1/4, 1/2, 1, 2, 4, 8)
callback, function, 非必填, 结果回调
**返回值**
res: 0成功 其他为错误码

4.6 获取当前回放倍速

this.$refs.hikComponent.getPlaybackSpeed((res) => {

})
__接口描述__
获取当前的回放的播放速度,默认一倍速。
__参数说明__
callback, function, 非必填, 结果回调
__返回值__
返回 0 表示成功,其他为错误码。

5语音对讲

5.1 设置语音对讲参数

this.$refs.hikComponent.setVoiceDataSource(path, headers);
备注: 如需传递 token,请在 headers 中增加 Token 赋值。

参数说明

成员名 数据类型 必填 说明
path String 是 对讲 URL
headers Map 否 其他请求参数

5.2 开启语音对讲

this.$refs.hikComponent.startVoiceTalk();
接口描述: 开启语音对讲
参数说明: 无
备注: 对讲过程中可能因网络波动或对讲通道被占用导致发生异常,需要在异常回调中主动关闭语音对讲。

5.3 关闭语音对讲

this.$refs.hikComponent.stopVoiceTalk();
接口描述: 关闭语音对讲。
参数说明: 无
备注: 关闭失败不影响下次开启。

6.播放抓图

6.1 预览回放抓图

this.$refs.hikComponent.screenshootThumbnail(config, callback);
接口描述: 在视频预览或回放时,从视频中抓取一帧,并保存至指定的本地文件路径。
参数说明: callback, function, 非必填, 结果回调
返回值: 0代表操作成功
备注: 本地抓图文件可以通过手机自带图片应用查看。

代码参考

// 抓图并存入指定路径
var path = plus.io.convertLocalFileSystemURL("_doc/HikVideoPlayer");
let time = new Date().getTime();
var name = time + ".jpg"
let dic = {
    filePath: path,
    fileName: name
};
var self = this;
this.$refs.hikComponent.screenshootThumbnail(dic, res => {
    self.filePath = path + "/" + name;
    console.log("大小图路径: " + self.filePath);
});

特别注意: 此方法在iOS上无效, 虽然接口返回正常, 但图片实际并未存入本地, 推测为API的问题, Android可正常使用。iOS可考虑使用takeVideoScreen()方法代替

6.2 获取抓图数据

this.$refs.hikComponent.screenshoot((res) => {

});
接口描述: 在视频预览或回放时,从视频中抓取一帧,并返回抓图的数据。
参数说明: callback, function, 非必填, 结果回调
返回值: 图片数据流
备注: 鉴于UNI和iOS、Android多端数据流的传输与转化统一, 本接口暂不可用, 可以考虑
使用takeVideoScreen(), 抓取图片数据并保存至本地相册。  

7.本地录像

7.1 开启本地录像

this.$refs.hikComponent.startRecord(mediaFilePath, (res) => {

})
接口说明: 在视频预览或回放时,保存录像数据流,并保存至指定的本地文件路径。
参数说明
mediaFilePath, String, 必填, 要保存的录像文件路径(含文件名),例:“/SnapShot/ 测试监控点.mp4”。
callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。
备注
1. 因缓存原因录像会有 2~3 秒延时。
2. 本地录像文件如果不进行转码,一般不能直接播放,可以使用 SDK 中的本地文件播放方法进行播放。

代码参考

// 开启本地录像
let path = plus.io.convertLocalFileSystemURL("_doc/HikVideoPlayer");
let time = new Date().getTime();
var name = time + ".mp4"
let dic = {
    filePath: path,
    fileName: name
}
var self = this;
this.$refs.hikComponent.startRecord(dic, (res) => {
    console.log("结果: " + res);
    self.mediaPath = path + "/" + name;
    let str = (0 == res) ? "开始录像" : "录像失败";
});

7.2 开启本地录像

this.$refs.hikComponent.startRecordAndConvert(mediaFilePath, (res) => {

})
接口说明: 在视频预览或回放时,保存录像数据流,并保存至指定的本地文件路径。录像文件可以正常使用系统播
放器播放,可正常保存相册。
参数说明
mediaFilePath, String, 必填, 要保存的录像文件路径(含文件名),例:“/SnapShot/ 测试监控点.mp4”。
callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。
备注
1. 因缓存原因录像会有 2~3 秒延时。
2. 录像文件可以正常使用系统播放器播放,可正常保存相册。
3. V2.1.0版本新增

7.3 关闭本地录像

this.$refs.hikComponent.stopRecord((res) => {

});
接口描述: 在视频预览或回放时,关闭录像流。
参数说明: callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。

8.声音控制

8.1

this.$refs.hikComponent.enableAudio(enable, (res) => {

});
接口描述: 在视频预览或回放时,关闭录像流。
参数说明
enable, Boolean, 必填, YES-开启声音 NO-关闭声音
callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。

9.电子放大

this.$refs.hikComponent.openDigitalZoom(param, (res) => {

});
接口描述: 执行电子放大功能。
返回值: res返回 0 代表操作成功,其他为错误码。
备注:
1. 电子放大支持倍率为 1-10 倍。 
2. 默认情况下不开启电子放大的。

param为Map数据类型, 包含以下成员

成员名 数据类型 必填 说明 适用
original String 是 最初的显示区域的坐标矩形,格式"{{x, y}, {width, height}}" iOS
current String 是 目标显示区域的坐标矩形"{{0, 0}, {300, 300}}" iOS
originalA Map 是 最初的显示区域的坐标矩形 Android
currentA Map 是 目标显示区域的坐标矩形 Android

originalA和currentA参数说明

成员名 数据类型 必填 说明
bottom int 是
left int 是
right int 是
top int 是

9.2 关闭电子放大

this.$refs.hikComponent.closeDigitalZoom((res) => {

})
接口描述
关闭电子放大功能
参数说明: callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。

10.鱼眼矫正

10.1 开启/关闭鱼眼矫正

this.$refs.hikComponent.setFishEyeEnable(enable, (res) => {

});
接口描述: 开启预览后,设置是否开启鱼眼矫正效果;
参数说明
enable, Boolean, 必填, 开启或关闭鱼眼矫正,只作用于一路预览。
callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。
备注: 播放成功后,进行设置。

10.2设置鱼眼矫正方式

this.$refs.hikComponent.setFishEyeMode(correctType, placeType, (res) => {

});
接口描述: 打开鱼眼功能后,设置鱼眼矫正方式,根据设备安装方式不同,支持不同的矫正方式
返回值: res返回 0 代表操作成功,其他为错误码。
备注: 
1. 鱼眼最多支持 4 路;
2. 电子放大和鱼眼不能同时开启。

参数说明

成员名 数据类型 必填 说明 适用
correctType int 是 矫正方式 Android, iOS
placeType int 是 安装方式 Android, iOS
callback function 否 结果回调 Android, iOS

qualityType参数说明

成员名 数据类型 说明 适用
0 int FishEyeCorrectTypePtz Android, iOS
1 int FishEyeCorrectType180 Android, iOS
2 int FishEyeCorrectType360 Android, iOS
3 int FishEyeCorrectTypeLat Android, iOS
4 int FishEyeCorrectTypeHemisphere Android, iOS
5 int FishEyeCorrectTypeCylinder Android, iOS
6 int FishEyeCorrectTypePlanet Android, iOS
7 int FishEyeCorrectTypeCylinderCut Android, iOS
8 int FishEyeCorrectTypeDefault iOS

placeType参数说明

成员名 数据类型 说明 适用
0 int FishEyePlaceTypeNone Android, iOS
1 int FishEyePlaceTypeWall Android, iOS
2 int FishEyePlaceTypeFloor Android, iOS
3 int FishEyePlaceTypeCeiling Android, iOS

10.3 处理鱼眼矫正参数

this.$refs.hikComponent.handleFishEyeCorrect(param, (res) => {

})
接口描述: 打开鱼眼功能后,根据手势的不同,设置不同的矫正参数,展示对应的效果
参数说明: 
param, map, 必填, 参数
callback, function, 非必填, 结果回调
返回值: res返回 0 代表操作成功,其他为错误码。
备注: 
1. 鱼眼最多支持 4 路;
2. 电子放大和鱼眼不能同时开启。

param参数说明

成员名 数据类型 必填 说明 适用
isZoom BOOL 是 YES-手势放大/缩小 NO-非手势放大/缩小 Android, iOS
zoom float 否 手势放大/缩小系数 Android, iOS
originalPoint String 否 上一次触摸的位置 iOS
currentPoint String 否 当前触摸的位置 iOS
translationPoint String 否 移动的距离 iOS
zoom3D float 否 3D缩放比例 Android
curX float 否 当前X坐标值 Android
curY float 否 当前Y坐标值 Android

11.本地播放

11.1 播放本地文件

this.$refs.hikComponent.playFile(path, (res) => {

});
接口描述: 播放本地文件
参数说明
path, String, 必填, 本地录像文件路径
callback, function, 非必填, 结果回调
备注: 配合 播放状态回调 方法,可以获取播放结果及错误码

11.2 获取文件播放总时长

this.$refs.hikComponent.getTotalTime((res) => {

});
接口描述: 获取播放文件的播放总时长。
返回值: res播放总时长,单位为:秒
备注: 播放成功后调用,否则返回 0;

11.3 获取当前已播放时长

this.$refs.hikComponent.getPlayedTime((res) => {

});
接口描述: 获取播放文件的已播放时长。
返回值: res已播放时长,单位为:秒
备注: 播放成功后调用,否则返回 0;

11.4 设置播放进度

this.$refs.hikComponent.setCurrentFrame(scale, (res) => {

});
接口描述: 设置当前文件的播放进度百分比
参数说明
| scale | float | 必填 | 播放百分比,取值范围 0-1.0 |
| callback | function | 非必填 | 结果回调 |
返回值: res返回 0 代表操作成功,其他为错误码。

11.5 获取消耗的流量

this.$refs.hikComponent.getTotalTraffic((res) => {

});
接口描述: 获取播放视频消耗的流量
返回值: res消耗的流量

12.获取版本号

12.1获取版本号

this.$refs.hikComponent.getVersion((res) => {

});
接口描述: SDK版本号
返回值: res版本号

13.播放帧率

13.1获取码流帧率

this.$refs.hikComponent.getFrameRate((res) => {

});
接口描述: 获取码流帧率。
参数说明
| callback | function | 非必填 | 结果回调 |
返回值: res获取成功返回码流帧率,获取失败返回-1。若码流中的帧率小于1,返回0。

13.2设置预期帧率(硬解不支持)

this.$refs.hikComponent.setExpectedFrameRate(frameRate, (res) => {

});
接口描述: 获取码流帧率。
参数说明
| frameRate | int | 必填 | 预期帧率(1~码流最大帧率) |
| callback | function | 非必填 | 结果回调 |
返回值: res返回 0 代表操作成功,其他为错误码。
备注: 
1.此接口需要在播放成功后调用。
2.设置的预期帧率大于实际码流帧率的时候无效。
3.设置预期帧率小于1时无效。
4.开启硬解时无效。 
5.开启播放成功后,可通过getFrameRate获取当前码流最大帧率,帧率设置范围为1~码流最大帧率。
6.此方法从V2.1.0开始支持

13.3 设置多线程解码线程数

this.$refs.hikComponent.setDecodeThreadNum(threadNum, (res) => {

})
接口描述: 设置多线程解码线程数,进一步提升解码性能。uni-app

返回值: res返回 0 代表操作成功,其他为错误码。
备注:
1.线程数支持1-8。 
2.仅支持H264和H265的编码码流(包含smart264和smart265)。 
3.开启硬解时无效。   
4.此方法从V2.1.0开始支持。

参数说明

成员名 数据类型 必填 说明
threadNum int 必填 线程数,1~8
callback function 非必填 结果回调

14.云台控制

14.1 云台控制操作

this.$refs.hikComponent.ptzControl(action, command, speed, (res) => {

})
接口描述: 云台控制操作(需先启动预览)

参数说明

成员名 数据类型 必填 说明
action int 必填 云台停止动作或开始动作: 0- 开始, 1- 停止
command int 必填 云台控制命令
speed int 必填 云台控制的速度,用户按不同解码器的速度控制值设置。取值范围[1,7]
callback function 非必填 结果回调

14.2 云台预置点操作

this.$refs.hikComponent.ptzCruise(presentCmd, presetIndex, (res) => {

})
接口描述: 云台预置点操作(需先启动预览)

参数说明

成员名 数据类型 必填 说明
presentCmd int 必填 云台预置点操作命令
presetIndex int 必填 预置点的序号(从 1 开始),最多支持 255 个预置点
callback function 非必填 结果回调

14.3 云台巡航操作

this.$refs.hikComponent.ptzCruise(cruiseCmd, index, (res) => {

})
接口描述: 云台巡航操作(需先启动预览)

参数说明

成员名 数据类型 必填 说明
cruiseCmd int 必填 操作云台巡航命令
index int 必填 巡航序号
callback function 非必填 结果回调

功能性API

this.$refs.hikComponent.takeVideoScreen();
接口描述: 抓取图片保存至本地相册
参数说明: 无
返回值: @saveImage事件回调

iOS独有API

获取版本号

this.$refs.hikComponent.getVersion((res) => {

})
接口描述: 获取当前SDK版本号
参数说明
| callback | function | 非必填 | 结果回调 |
备注: Android原生文档中虽然有getVersion这个API, 但实际SDK中并没有此方法。

Android独有API

设置初始鱼眼PTZ参数

this.$refs.hikComponent.setOriginalFECParam(originalX, originalY, surfaceWidth, surfaceHeight);
接口描述: 设置初始鱼眼PTZ参数

参数说明

成员名 数据类型 必填 说明
originalX float 必填 初始X坐标值
originalY float 必填 初始Y坐标值
surfaceWidth int 必填 当前播放View的宽度
surfaceHeight int 必填 当前播放View的高度

云台控制相关接口

this.$refs.hikComponent.ptzSelZoom(var1, var2, var3, var4, (res) => {

})
备注:不知道干什么用的,也不知道参数什么意思。使用请参考Android原生SDK内的ptzSelZoom方法。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android <uses-permission android:name="android.permission.INTERNET" /><!-- 允许程序写入录像文件和抓图 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 允许程序录制音频 --> <uses-permission android:name="android.permission.RECORD_AUDIO" /> iOS NSPhotoLibraryUsageDescription<!-- 相册使用权限 --> NSPhotoLibraryAddUsageDescription <!-- 图片写入相册权限 --> NSMicrophoneUsageDescription<!-- 麦克风权限 --> 视实际使用情况申请相应权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本插件是对Android和iOS海康视频播放的UNI版封装,不采集任何数据,插件使用海康视频SDK,参考其官方网站https://open.hikvision.com/#home

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无