核心用法
Device Capture 是一款面向萤石(EZVIZ)摄像头生态的批量抓图工具,通过调用萤石开放平台 API 实现多设备实时监控画面的自动化采集。用户仅需配置 EZVIZ_APP_KEY、EZVIZ_APP_SECRET 和设备序列号,技能即可自动完成 Token 获取、设备抓图、结果输出全流程。
关键特性:
- 零 Token 配置:每次运行自动调用萤石 API 获取 7 天有效期 Token,无需手动管理
- 多设备并行:支持逗号分隔的多设备批量抓图,可独立指定通道号(如
dev1:1,dev2:2) - 自动限流保护:设备间自动间隔 4 秒,避免触发萤石频率限制(错误码 10028)
- 灵活输出:支持仅返回图片 URL(有效期 2 小时)或自动下载到本地路径
显著优点
1. 极简集成:仅需 Python requests 库,无复杂依赖链
2. 安全设计:Token 仅存内存、不写入日志、不跨运行缓存,降低凭证泄露风险
3. 定时友好:内置 Crontab/Launchd 示例,≥5 分钟间隔即可稳定运行
4. 错误透明:完整输出错误码映射(设备离线、超时、抓图超限等)
潜在局限
- 云端依赖:完全依赖萤石开放平台可用性,网络中断即失效
- 无本地缓存:每次运行重新获取 Token,高频调用(<5 分钟)可能浪费 API 配额
- 图片时效:URL 仅 2 小时有效,需及时下载或二次存储
- 设备兼容性:要求设备在线且
support_capture=1,老旧机型可能不支持
适合人群
- 小型商户/家庭用户:多摄像头定时存档、安全巡检
- 开发者/运维:监控画面采集、AI 训练数据自动化获取
- 合规场景:需保留监控截图作为证据链的轻量级方案
常规风险
- 隐私合规:摄像头采集可能涉及 GDPR、《个人信息保护法》等法规,需确保告知义务与用途合法
- 凭证泄露:
appKey/appSecret泄露可导致设备被恶意控制,建议定期轮换并使用最小权限密钥 - 频率超限:高频调用可能触发 10028 错误,导致临时封禁
- 第三方数据流出:所有设备序列号、凭证均发送至
open.ys7.com,需信任萤石平台安全性