go2rtc-cameras

star 2.8k

Multi-camera RTSP to WebRTC streaming via go2rtc

SharpAI By SharpAI schedule Updated 3/2/2026

name: go2rtc-cameras description: "Multi-camera RTSP to WebRTC streaming via go2rtc" version: 1.0.0

parameters:

  • name: streams label: "RTSP Stream URLs" type: string description: "Comma-separated camera_name=rtsp://... entries" placeholder: "front_door=rtsp://192.168.1.100:554/stream1" required: true group: Streams

capabilities: live_stream: script: scripts/stream.py description: "Register RTSP streams with go2rtc for WebRTC playback"


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)

{"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

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
Install via CLI
npx skills add https://github.com/SharpAI/DeepCamera --skill go2rtc-cameras
Repository Details
star Stars 2,790
call_split Forks 450
navigation Branch main
article Path SKILL.md
More from Creator