SuperAPI AI 工具集

camsnap

安全与审计

查看项目

更新于 10-16 04:22

技能介绍

Camsnap 是一个面向 IP 摄像头(RTSP/ONVIF)的生产级抓拍与录制系统,具备较完整的错误处理和多品牌支持。它通过命令行工具 camsnap.js 调用,底层依赖 FFmpeg 处理 RTSP 流。

用途 Camsnap 主要用于从 IP 安防摄像头抓取快照、录制监控视频片段、测试 RTSP 流连通性、进行自动化摄像头监控、多摄像头快照抓取、长期摄像头监控,以及安防或延时摄影类应用。它不适用于系统网络摄像头抓拍、从视频文件提取帧、实时直播推流或视频编辑等场景。

主要能力

  1. 快照抓取:从摄像头抓取单帧图像,支持 jpg、png、bmp、tiff 输出格式,可设置 JPEG 质量(1-31,1 为最佳)、调整尺寸(WxH),并可选择关闭时间戳叠加。
  2. 视频片段录制:录制短视频片段,支持时长(最小 1 秒,最大 3600 秒即 1 小时,推荐 10-300 秒)、帧率、质量预设(low/medium/high/maximum,对应不同 FPS 与码率)以及是否录制音频。
  3. 连接测试:验证摄像头连通性并获取流信息,返回连接状态、格式、视频编解码、分辨率、帧率、码率以及音频编解码、采样率、声道等 JSON 信息,支持自定义超时。
  4. 运动检测:监控摄像头运动事件,可设置监控时长、运动灵敏度阈值(0.01-1.0,默认 0.02)以及检测到运动时的片段时长,并可将片段输出到指定目录。
  5. 凭据管理:安全存储摄像头凭据,支持保存、列出和使用已保存凭据。凭据存储于 ~/.camsnap_credentials,权限为 600,格式为 JSON 且密码经 base64 编码,但未加密,仅依赖操作系统文件权限。

使用方式 使用前需安装 FFmpeg(macOS 用 brew install ffmpeg,Ubuntu/Debian 用 sudo apt install ffmpeg),并确认摄像头网络可达、已启用 RTSP、凭据已知。摄像头 URL 支持通用格式 rtsp://ip:port/path 以及各品牌专用格式,默认端口 554。命令包括 snapshot(快照)、record(录制)、test(测试)、detect(运动检测)、credentials(凭据管理)。可通过 --url 直接传入完整 URL,或通过 --ip、--port、--username、--password、--type 等参数构建。密码中的特殊字符需进行 URL 编码。

适用场景 适用于安防监控抓拍、定时快照脚本、延时摄影录制、运动检测告警、多摄像头并行抓拍、周期性录制调度等。文档提供了安全快照脚本、延时摄影、运动检测告警、多摄像头抓拍、周期性录制调度等示例。

限制 所有操作均需 FFmpeg;最大片段时长为 1 小时;运动检测为基础采样方式;凭据文件未加密;RTSP 协议不使用 HTTPS;延时摄影视频需另行使用 ffmpeg 命令生成;生产级监控建议使用专用 NVR 软件。文档还列出了错误码(0-8、99)与退出状态说明,以及连接超时、认证失败、流未找到、FFmpeg 错误等常见问题的排查方法。