抓图与封面
抓图与封面
设备操作说明 写:本模块包括设备抓图。两条抓图接口的说明都是:将设备当前画面截图,返回图片路径地址。升级版另写支持更高的抓图频率。
文档中的「封面」写的是直播视频封面。零代码直播 的自定义 H5 配置选项包含直播视频封面。bindDeviceLive 的返回字段说明包含直播视频封面图地址,以及视频封面更新频率(单位:s)。
选择集成方式对比表没有抓图行。
步骤
- HTTP 抓图:设备性能好(约 ≥1 次/秒)用 setDeviceSnapEnhanced(间隔 ≥1s,URL 2h 有效);老设备用 setDeviceSnap(间隔 ≥3s)。权限
Capture/cam:序列号:通道号。 - 直播封面:控制台 H5 或 bindDeviceLive 返回的
coverUrl/coverUpdate;异常状态见 queryLiveStatus 与 排障。 - 轻应用截图:
player.capture(),见 ImouPlayer API(部分微信环境不支持,见组件常见问题)。
各端实现
服务端 HTTP
setDeviceSnap:设备抓图:支持抓图频率 1 次/3s。客户端请求时间间隔需大于等于 3s。返回字段 url 的说明是抓图访问地址。该页没有写这个地址的有效时长。
setDeviceSnapEnhanced:设备抓图(升级版):支持抓图频率 1 次/每秒。客户端请求时间间隔需大于等于 1s;若小于 1s,默认返回上一次抓图图片。返回结果中,抓图访问地址(url)2 小时内有效。
两页备注相同:建议根据设备性能实测后再决定用哪个接口。若设备性能较好(每秒都可以处理并返回抓图图片),调用 setDeviceSnapEnhanced。若设备性能较差(主要针对 2017 年前上市的设备),调用 setDeviceSnap。
两页都写子账号 token 的最小权限:"Permission":"Capture",资源为 "cam:序列号:通道号"。参数与请求示例见 setDeviceSnap / setDeviceSnapEnhanced 各方法页。
直播视频封面:
- 控制台自定义 H5 可配置直播视频封面,见 创建设备直播地址。
- bindDeviceLive 返回说明:
coverUrl为直播视频封面图地址,coverUpdate为视频封面更新频率(单位:s)。getLiveStreamInfo、liveList 的返回说明里也有视频封面 url 与视频封面更新频率(单位:s)。字段以各页为准。 - queryLiveStatus:状态
1表示直播中但封面异常,其余码见 排障。
更换封面:无单独「换封面」OpenAPI;在控制台 H5 配置,或依赖 bindDeviceLive 返回的 coverUrl/coverUpdate 自动刷新。
Android
服务端或 App 调用 setDeviceSnap / setDeviceSnapEnhanced(子账号需 Capture 权限,见 排障)。端侧本地抓图见 Android 功能集成 预览相关能力。
iOS
与服务端 HTTP 抓图相同;端侧集成见 iOS 功能集成。
轻应用里已写的截图
这段不是 Android 或 iOS SDK 的步骤。
ImouPlayer API 参考 写:控件 capture 的说明是抓图;方法 player.capture() 的功能描述是截图。常见问题写:IOS&Android 微信小程序 web-view、Android 微信内置浏览器不支持截图、屏幕录制,功能按钮不展示。