# Go2rtc Cameras

Multi-camera RTSP to WebRTC streaming via go2rtc

- Repository: https://github.com/SharpAI/DeepCamera (3124 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-09-17
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add SharpAI/DeepCamera --skill go2rtc-cameras -g -a claude-code -y`
Codex: `npx skills add SharpAI/DeepCamera --skill go2rtc-cameras -g -a codex -y`
Cursor: `npx skills add SharpAI/DeepCamera --skill go2rtc-cameras -g -a cursor -y`
Gemini CLI: `npx skills add SharpAI/DeepCamera --skill go2rtc-cameras -g -a gemini-cli -y`

## Description

Multi-camera RTSP to WebRTC streaming via go2rtc

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# go2rtc Multi-Camera Streaming

Registers RTSP camera streams with SharpAI Aegis's go2rtc sidecar for low-latency WebRTC live view in the browser.

## How It Works

```
Your Cameras (RTSP)          go2rtc (in Aegis)           Browser
───────────────────          ─────────────────           ───────
rtsp://cam1:554/stream ───►  /api/webrtc?src=cam1  ───► WebRTC Player
rtsp://cam2:554/stream ───►  /api/webrtc?src=cam2  ───► WebRTC Player
rtsp://cam3:554/stream ───►  /api/webrtc?src=cam3  ───► WebRTC Player
```

## Supported Sources

go2rtc accepts any stream source:
- `rtsp://`, standard RTSP cameras
- `rtmp://`, RTMP streams
- `http://`, MJPEG or HLS streams
- `ffmpeg:`, FFmpeg pipeline
- `exec:`, custom command

## Protocol

### Skill → Aegis (stdout)
```jsonl
{"event": "ready", "streams": 3}
{"event": "live_stream", "camera_id": "front_door", "camera_name": "Front Door", "url": "rtsp://192.168.1.100:554/stream1"}
{"event": "live_stream", "camera_id": "backyard", "camera_name": "Backyard", "url": "rtsp://192.168.1.101:554/stream1"}
```

Aegis registers each stream with go2rtc via IPC:
- `go2rtc:add-stream` → registers camera
- `go2rtc:connection-info` → returns WebRTC URL for player

## Setup

```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
```

