屏幕图像推送
将屏幕指定区域的图像直接推送到自定义的 API 服务进行处理,适用于各种图像识别场景。
应用场景
这个接口特别适合以下场景:
- 🔤 OCR文字识别 - 集成第三方OCR服务(如 PaddleOCR、Tesseract等)
- 🎯 验证码识别 - 使用专门的验证码识别服务
- 🖼️ 图像分类 - 识别图片内容、物体检测
- 🤖 AI识别 - 集成任何自定义的图像AI模型
💡 工作原理
推流端 → 截取图像 → 直接POST → 你的API → 返回结果
图像从推流端直接发送到你的API,节省了解码和多余的传输步骤,提高效率。
与 getScreenShot 的区别
对比说明
| 特性 | screenPush | getScreenShot |
|---|---|---|
| 数据流向 | 推流端 → 你的API | 推流端 → iClick主进程 → 调用方 |
| 传输次数 | 1次(直接推送) | 2次(先传主进程,再传API) |
| 资源占用 | 低(不经过主进程) | 高(需要在主进程解码传递) |
接口说明
接口类型
screenPush参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api | string | 是 | 你的API服务地址 |
| args | object | 否 | 自定义参数对象,会原样传递给API服务器 |
| quality | number | 否 | 图像质量 (0-1),默认 0.8 |
| scale | number | 否 | 缩放比例 (0-1),默认 1.0 |
请求格式
iClick 会向你的 API 发送 POST 请求,为了节省不必要的资源,screenPush推流端推送成功后,不会等待结果并返回给调用方,screenPush永远只会返回true,你需要自己实现业务回调逻辑
请求头:
Content-Type: multipart/form-data请求体:
image: <图片二进制数据(屏幕截图)>如果提供了 args 参数,所有字段会作为额外的 form 字段传递:
image: <图片二进制数据>
rect: [100, 100, 500, 200] // 如果 args.rect 存在
customField: "value" // 你的自定义字段
...基本使用
javascript
// 识别验证码示例
await apiInvoke('screenPush', {
api: 'http://localhost:5000/resolve_captcha',
args: {
rect: [100, 300, 275, 360],
type: 'digits',
...
}
});