camsnap

Capture frames or clips from RTSP/ONVIF cameras.

3,891 stars
Complexity: easy

About this skill

The camsnap skill empowers AI agents to interact programmatically with network cameras, providing robust capabilities for surveillance, monitoring, and media capture. Agents can initiate commands to take still images, record short video clips of specified durations, or even monitor camera feeds for motion detection, triggering custom actions when activity is detected. This skill is invaluable for automating tasks related to physical security, home automation, or any scenario requiring interaction with IP cameras without a graphical user interface. By configuring camera details once, an agent can seamlessly integrate camera feeds into larger scripts or workflows, making it possible to respond dynamically to visual input. Users would leverage camsnap to achieve consistent, automated media capture from their camera infrastructure, enabling advanced monitoring, logging, and event-driven automation based on visual triggers.

Best use case

The primary use case for camsnap is automated surveillance and programmatic interaction with IP cameras. It benefits users who need to integrate camera feeds into home automation systems, security monitoring scripts, or data collection processes where capturing specific visual events or media is crucial without manual intervention.

Capture frames or clips from RTSP/ONVIF cameras.

Users should expect a JPG image or an MP4 video file saved to a specified location, or the execution of a custom action triggered by detected motion.

Practical example

Example input

Capture a 15-second video clip from the 'front_door' camera and save it as `alert_20231027.mp4`.

Example output

Recording clip from front_door.mp4 (15s)... Done. Saved to alert_20231027.mp4

When to use this skill

  • To programmatically capture a snapshot from a security or IP camera.
  • When you need to record a short video clip from an RTSP/ONVIF camera for an event.
  • To set up automated motion detection with custom actions from a camera feed.
  • For integrating camera media capture into scripts or home automation systems.

When not to use this skill

  • If you require real-time, continuous live streaming with a graphical user interface.
  • If your cameras do not support RTSP or ONVIF protocols.
  • For advanced video editing or long-term video archiving solutions (NVR functionality).
  • When you only need to view a live feed and do not require programmatic interaction.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/camsnap-1-0-0/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/0xspeter/camsnap-1-0-0/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/camsnap-1-0-0/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How camsnap Compares

Feature / AgentcamsnapStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityeasyN/A

Frequently Asked Questions

What does this skill do?

Capture frames or clips from RTSP/ONVIF cameras.

How difficult is it to install?

The installation complexity is rated as easy. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# camsnap

Use `camsnap` to grab snapshots, clips, or motion events from configured cameras.

Setup
- Config file: `~/.config/camsnap/config.yaml`
- Add camera: `camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass`

Common commands
- Discover: `camsnap discover --info`
- Snapshot: `camsnap snap kitchen --out shot.jpg`
- Clip: `camsnap clip kitchen --dur 5s --out clip.mp4`
- Motion watch: `camsnap watch kitchen --threshold 0.2 --action '...'`
- Doctor: `camsnap doctor --probe`

Notes
- Requires `ffmpeg` on PATH.
- Prefer a short test capture before longer clips.

Related Skills

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

filesystem

3891
from openclaw/skills

Advanced filesystem operations for listing files, searching content, batch processing, and directory analysis. Supports recursive search, file type filtering, size analysis, and batch operations like copy/move/delete. Use when you need to: list directory contents, search for files by name or content, analyze directory structures, perform batch file operations, or analyze file sizes and distribution.

General Utilities

Budget & Expense Tracker — AI Agent Financial Command Center

3891
from openclaw/skills

Track every dollar, enforce budgets, spot spending patterns, and build wealth — all through natural conversation with your AI agent.

General Utilities

yt-dlp

3891
from openclaw/skills

A robust CLI wrapper for yt-dlp to download videos, playlists, and audio from YouTube and thousands of other sites. Supports format selection, quality control, metadata embedding, and cookie authentication.

General Utilities

time-checker

3891
from openclaw/skills

Check accurate current time, date, and timezone information for any location worldwide using time.is. Use when the user asks "what time is it in X", "current time in Y", or needs to verify timezone offsets.

General Utilities

pihole-ctl

3891
from openclaw/skills

Manage and monitor local Pi-hole instance. Query FTL database for statistics (blocked ads, top clients) and control service via CLI. Use when user asks "how many ads blocked", "pihole status", or "update gravity".

General Utilities

mermaid-architect

3891
from openclaw/skills

Generate beautiful, hand-drawn Mermaid diagrams with robust syntax (quoted labels, ELK layout). Use this skill when the user asks for "diagram", "flowchart", "sequence diagram", or "visualize this process".

General Utilities

memory-cache

3891
from openclaw/skills

High-performance temporary storage system using Redis. Supports namespaced keys (mema:*), TTL management, and session context caching. Use for: (1) Saving agent state, (2) Caching API results, (3) Sharing data between sub-agents.

General Utilities

mema

3891
from openclaw/skills

Mema's personal brain - SQLite metadata index for documents and Redis short-term context buffer. Use for organizing workspace knowledge paths and managing ephemeral session state.

General Utilities

file-organizer-skill

3891
from openclaw/skills

Organize files in directories by grouping them into folders based on their extensions or date. Includes Dry-Run, Recursive, and Undo capabilities.

General Utilities

media-compress

3891
from openclaw/skills

Compress and convert images and videos using ffmpeg. Use when the user wants to reduce file size, change format, resize, or optimize media files. Handles common formats like JPG, PNG, WebP, MP4, MOV, WebM. Triggers on phrases like "compress image", "compress video", "reduce file size", "convert to webp/mp4", "resize image", "make image smaller", "batch compress", "optimize media".

General Utilities

edge-tts

3891
from openclaw/skills

Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.

General Utilities