camera-watch

YOLOv8-based camera surveillance with object detection. Works with any IP camera supporting RTSP streams or HTTP snapshots (Hikvision, Dahua, Reolink, Amcrest, Unifi, and more). Detects 80+ object types (person, car, dog, etc.) and sends notifications with snapshots. Use for motion detection, night watch routines, or security monitoring.

7 stars

Best use case

camera-watch is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

YOLOv8-based camera surveillance with object detection. Works with any IP camera supporting RTSP streams or HTTP snapshots (Hikvision, Dahua, Reolink, Amcrest, Unifi, and more). Detects 80+ object types (person, car, dog, etc.) and sends notifications with snapshots. Use for motion detection, night watch routines, or security monitoring.

Teams using camera-watch should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/camera-watch/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/henrikback/camera-watch/SKILL.md"

Manual Installation

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

How camera-watch Compares

Feature / Agentcamera-watchStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

YOLOv8-based camera surveillance with object detection. Works with any IP camera supporting RTSP streams or HTTP snapshots (Hikvision, Dahua, Reolink, Amcrest, Unifi, and more). Detects 80+ object types (person, car, dog, etc.) and sends notifications with snapshots. Use for motion detection, night watch routines, or security monitoring.

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.

SKILL.md Source

# Camera Watch

Real-time object detection on IP cameras using YOLOv8. Works with any camera supporting RTSP or HTTP snapshots. Detects people, vehicles, animals, and 80+ object types. Sends notifications with snapshots when objects are detected.

## Features

- HTTP snapshot mode (reliable) or RTSP streaming
- YOLOv8 object detection (80 COCO classes)
- WhatsApp/iMessage notifications with snapshots
- Configurable confidence threshold and cooldown
- Multi-camera support

## Setup

### 1. Create project directory

```bash
mkdir -p ~/camera-watch && cd ~/camera-watch
python -m venv venv
source venv/bin/activate
pip install opencv-python ultralytics pyyaml requests
```

### 2. Copy scripts

Copy `scripts/camera_watch.py` to your project directory.

### 3. Create config.yaml

```yaml
notifications:
  enabled: true
  whatsapp: "+1234567890"  # Your phone number
  cooldown_seconds: 60

recordings:
  snapshots_dir: "./snapshots"
  keep_days: 7

logging:
  file: "./logs/detections.log"
  level: "INFO"

cameras:
  front-door:
    name: "Front Door"
    ip: "192.168.1.100"      # Your camera IP
    channel: 1               # Hikvision channel number
    user: "admin"            # Camera username
    password: "yourpassword" # Camera password
    poll_interval: 2
    enabled: true
    track:
      - person
      - car
    confidence: 0.5

model:
  name: "yolov8s"  # Options: yolov8n (fast), yolov8s (balanced), yolov8m (accurate)
  device: "cpu"    # Use "mps" for Apple Silicon, "cuda" for NVIDIA
```

### 4. Run

```bash
# Test cameras
python camera_watch.py --test

# Run in foreground
python camera_watch.py

# Run in background
nohup python camera_watch.py > /tmp/camera-watch.log 2>&1 &
```

## Detectable Objects (YOLOv8 COCO)

**People & Animals:**
person, bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe

**Vehicles:**
bicycle, car, motorcycle, airplane, bus, train, truck, boat

**Common objects:**
backpack, umbrella, handbag, suitcase, bottle, cup, chair, couch, bed, laptop, cell phone, tv

**Full list:** 80 classes including sports equipment, food items, furniture, and more.

## Integration with Night Watch

For automated night routines, create a separate script that:
1. Starts camera-watch at night (e.g., 00:00)
2. Stops camera-watch in morning (e.g., 07:00)
3. Sends report with detections and snapshots

Example cron integration:
```bash
# Start at midnight
0 0 * * * cd ~/camera-watch && source venv/bin/activate && nohup python camera_watch.py > /tmp/camera-watch.log 2>&1 &

# Stop at 7am and send report
0 7 * * * pkill -f camera_watch.py
```

## Notifications

The script sends notifications via Clawdbot gateway API. Ensure Clawdbot is running and configure the gateway URL in the script if needed.

## Troubleshooting

**Camera not connecting:**
- Verify IP address and credentials
- Check if camera supports ISAPI (Hikvision) or try RTSP
- Ensure camera is on same network

**False positives:**
- Increase confidence threshold (0.5 → 0.7)
- Clean camera lens (spider webs, insects)
- Adjust detection area if possible

**High CPU usage:**
- Increase poll_interval (2 → 5 seconds)
- Use smaller model (yolov8n instead of yolov8s)

Related Skills

video-watcher

7
from Demerzels-lab/elsamultiskillagent

Analyze video content by extracting frames at regular intervals.

portfolio-watcher

7
from Demerzels-lab/elsamultiskillagent

Monitor stock/crypto holdings, get price alerts, track portfolio performance

sec-filing-watcher

7
from Demerzels-lab/elsamultiskillagent

Monitor SEC EDGAR for new filings and get Telegram/Slack summaries via Clawdbot. Use when setting up SEC filing alerts, adding/removing tickers to monitor, configuring form types, starting/stopping the watcher, or troubleshooting filing notifications.

Trend Watcher Tool

7
from Demerzels-lab/elsamultiskillagent

Monitors GitHub Trending and tech communities for emerging tools and technologies.

skill-liewatch

7
from Demerzels-lab/elsamultiskillagent

Play the LIE.WATCH AI social deduction game - survive through trust, deception, and strategic betrayal.

liewatch

7
from Demerzels-lab/elsamultiskillagent

Play the LIE.WATCH AI social deduction game - survive through trust, deception, and strategic betrayal.

abby-watch

7
from Demerzels-lab/elsamultiskillagent

Simple time display for Abby.

bilibili-youtube-watcher

7
from Demerzels-lab/elsamultiskillagent

Fetch and read transcripts from YouTube and Bilibili videos.

process-watch

7
from Demerzels-lab/elsamultiskillagent

Monitor system processes - CPU, memory, disk I/O, network, open files, ports. Find resource hogs, kill runaway processes, track what's consuming your machine.

tide-watch

7
from Demerzels-lab/elsamultiskillagent

Proactive session capacity monitoring and management for OpenClaw.

claude-watchdog

7
from Demerzels-lab/elsamultiskillagent

Monitor the Claude API for outages and latency spikes with rich Telegram alerts.

system-watchdog

7
from Demerzels-lab/elsamultiskillagent

System resource monitoring that detects wasteful or suspicious processes.