插件 | 直通 | 回放 |
---|---|---|
电子放大镜 | √ | √ |
全屏 | √ | √ |
截图 | √ | √ |
手动马赛克 | √ | √ |
视频信息 | √ | √ |
屏占比 | √ | √ |
直通延迟监测 | √ | - |
所有的功能都挂载在 player.pluginMap 上。回放播放的插件也都统一挂载到了外层播放器 historyPlayer.pluginMap 上,不需要在通道播放器调用方法。方法传入通道对象 { devId, channel },如果不传,则对所有通道生效。
用法:以开启电子放大镜为例
描述
在视频中按住鼠标左键,框选范围,然后松开,被框选的范围会被放大展示。
接口
开启放大镜
player.pluginMap.magnifier.enable(channelIndex?, devId?);
禁用放大镜
player.pluginMap.magnifier.disable(channelIndex?, devId?);
取消放大镜
player.pluginMap.magnifier.cancelZoomIn(channelIndex?, devId?);
注:其中通道对象 { devId, channel },如果不填,则对所有通道生效。
示例
描述
将视频画面全屏显示。
注:该插件只会全屏显示视频画面,如果业务层还需要全屏显示控制按钮或者其他 UI 组件,请自行实现全屏功能。
接口
全屏
player.pluginMap.fullscreen.fullscreen();
取消全屏
player.pluginMap.fullscreen.cancelFullscreen();
注:其中 channelIndex 是回放播放器通道对象 { devId, channel }
示例
描述
截取视频画面,包括视频图像,adas 叠加,dms 叠加,马赛克效果。
接口
const base64Datas = player.pluginMap.snapshot.capture(channelIndex?,[, options]);
参数
属性值 | 数据类型 | 描述 |
---|---|---|
channelIndex | object[] | 必填参数, 可以是”ALL“ 、null 或 通道对象 { devId, channel },如果为 "ALL" 或者 null ,则对所有通道生效 |
options | object | 可选参数,控制截图行为 |
├fileName | string | 可选参数,下载图片的文件名称, 不填则以时间戳命名 |
├autodownload | boolean | 可选参数,是否自动下载截图图片,默认 false |
├captureFormat | String | 可选参数,下载图片的编码格式:"png"或"jpeg"。注意 jpeg 为有损编码,适用于有截图需求但不需要原图场景,耗时短;png 为无损编码,耗时长。默认为 png 编码。 |
├captureSize | string | 可选参数,指定下载图片的尺寸:"container"或"original"。container 为播放容器尺寸,original 为视频原始尺寸。注意 original 相较于 container 会比较耗时。默认为"original" |
├watermark | object | 可选参数,水印配置。参考下表水印参数 |
水印参数
键名 | 默认值 | 说明 |
---|---|---|
fontSize | 16 | 字体大小(像素) |
fontFamily | 'sans-serif' | 字体家族名称 |
color | 'rgba(255, 255, 255, 0.25)' | 文字颜色(RGBA格式) |
gridSize | [320, 200] | 单个水印块大小[宽度, 高度](像素) |
lineHeight | 32 | 行高(像素) |
rotate | -30 | 旋转角度(顺时针度数) |
breakNumber | 30 | 换行字符数(超过此值自动换行) |
contents | [] | 要显示为水印的文本内容数组 |
返回值
属性值 | 数据类型 | 描述 |
---|---|---|
base64Datas | object[] | 带有当前截图的 base64 数据的数组 |
├channel | number | 通道号 |
├devId | string | 设备 id |
├base64 | string | base64 数据 |
示例
描述
视频播放过程中,可手动添加固定位置马赛克。
接口
编辑马赛克
player.pluginMap.codeMosaic.editMosaic(channlInfo?);
保存马赛克
player.pluginMap.codeMosaic.saveMosaic(channelInfo?);
清除马赛克(编辑时使用)
player.pluginMap.codeMosaic.clearMosaic(channelInfo?);
获取马赛克
player.pluginMap.codeMosaic.getData(channlInfo[]);
返回值: mosaicData[]
设置马赛克
player.pluginMap.codeMosaic.setData(mosaicData[]);
删除马赛克
player.pluginMap.codeMosaic.clearData(channlInfo[]);
注:其中 channelInfo 通道对象 { devId, channel },如果不填,则对所有通道生效。getData 和 clearData 方法中,该参数必填。
参数 mosaicData 说明:
示例
手动马赛克动态设置示例
描述
展示视频的分辨率,码率,帧率信息。在视频的右下角显示。
接口
data 中参数详解:
p:分辨率,
fps:码率
mbps:实时帧率
示例
描述
设置视频屏占比,设置取值范围:String,full: 铺满、origin: 原始比例、比例模式,如:16:9, 4:3, 1:1
接口
player.pluginMap.aspectRatio.set(value, channelInfo?);
注: channelInfo 为空 或者 为 0,则是全部通道生效。如果为对象数据 { channel: 1, devId: 'devId' },则可以指定通道修改。
示例
描述
用于检测直通是否延时,并给出回调。只有直通场景插件才生效。
接口
player.pluginMap.liveDelay.setOptions(options: Object)
参数
属性 | 类型 | 说明 |
---|---|---|
interval | number | 单位:毫秒。onMessage 的回调间隔。 |
delayTime | number | 单位:毫秒。延时判断时长,比如设置为 5000,播放过程中延时了 5000ms ,就回调 onMessage |
onMessage | function | 延时的回调函数,参数无。 |
开启延迟插件
player.pluginMap.liveDelay.enable()
关闭延迟插件
player.pluginMap.liveDelay.disable();
示例