Agent skill
scrypted
Build Scrypted plugins for home automation. Create camera integrations, automations, and smart home bridges. Use for HomeKit, Google Home, and Alexa integrations.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/scrypted
SKILL.md
Scrypted Skill
Complete guide for Scrypted - the home video integration platform.
Quick Reference
Key Features
| Feature | Description |
|---|---|
| HKSV | HomeKit Secure Video with local processing |
| Google Home | Camera streaming to Google ecosystem |
| Alexa | Camera streaming to Amazon ecosystem |
| NVR | Built-in recording and playback |
| AI Detection | Object detection (person, car, animal) |
Access Points
http://<scrypted-ip>:10443 # Web interface
https://<scrypted-ip>:10443 # HTTPS
1. Installation
Docker Installation (Recommended)
yaml
services:
scrypted:
image: koush/scrypted:latest
container_name: scrypted
restart: unless-stopped
network_mode: host
volumes:
- ./volume:/server/volume
- /var/run/dbus:/var/run/dbus
- /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket
devices:
# For hardware transcoding
- /dev/dri:/dev/dri
# For Coral TPU
# - /dev/bus/usb:/dev/bus/usb
environment:
- SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION=Bearer YOUR_TOKEN
- SCRYPTED_WEBHOOK_UPDATE=http://localhost:10444/v1/update
Docker Compose with GPU
yaml
services:
scrypted:
image: koush/scrypted:latest
container_name: scrypted
restart: unless-stopped
network_mode: host
volumes:
- ./volume:/server/volume
devices:
- /dev/dri:/dev/dri # Intel/AMD GPU
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
Raspberry Pi
bash
# Install via script
curl -s https://raw.githubusercontent.com/koush/scrypted/main/install/docker/install-scrypted-docker-compose.sh | bash
npm Installation
bash
# Install Node.js 18+
npm install -g @scrypted/server
# Run
npx scrypted serve
2. Initial Setup
First Login
- Navigate to
https://<ip>:10443 - Accept self-signed certificate warning
- Create admin account
- Complete setup wizard
Add Camera
- Click "+" to add device
- Select camera brand or "Generic RTSP"
- Enter camera URL and credentials
- Configure detection and recording options
Generic RTSP Camera
# RTSP URL format
rtsp://username:password@192.168.1.100:554/stream1
# Common paths:
# Hikvision: /Streaming/Channels/101
# Dahua: /cam/realmonitor?channel=1&subtype=0
# Amcrest: /cam/realmonitor?channel=1&subtype=0
# Reolink: /h264Preview_01_main
3. HomeKit Secure Video (HKSV)
Enable HomeKit Plugin
- Plugins > HomeKit
- Install "HomeKit" plugin
- Scan QR code with Apple Home app
Configure HKSV
- Select camera in Scrypted
- Enable "HomeKit Secure Video" extension
- In Apple Home: Camera settings > Recording Options
- Enable "Stream & Allow Recording"
HKSV Requirements
- Apple Home Hub (HomePod/Apple TV)
- iCloud+ subscription (50GB minimum)
- Supported resolution (1080p max for HKSV)
Optimize for HKSV
yaml
# Camera settings in Scrypted
Video Codec: H.264
Resolution: 1920x1080 (or lower)
Framerate: 30 fps
Bitrate: 2000-4000 kbps
Audio: AAC (if supported)
4. Google Home Integration
Install Google Home Plugin
- Plugins > Install "Google Home"
- Link account in Google Home app
- Add Scrypted as linked service
Configure Cameras
- Enable "Google Home" extension on camera
- Camera appears in Google Home app
- View on Nest displays and TV
Supported Features
- Live streaming
- Talk back (2-way audio)
- Event notifications
- Doorbell announcements
5. Alexa Integration
Install Alexa Plugin
- Plugins > Install "Alexa"
- Link in Alexa app
- Discover devices
Configure Cameras
- Enable "Alexa" extension on camera
- View on Echo Show devices
- Enable doorbell announcements
6. NVR (Recording)
Enable NVR Plugin
- Plugins > Install "NVR"
- Configure storage location
- Set retention policies
Storage Configuration
yaml
# In Scrypted NVR settings
Storage Path: /server/volume/recordings
Retention Days: 7
Pre-Event Buffer: 10 seconds
Post-Event Buffer: 10 seconds
Recording Modes
| Mode | Description |
|---|---|
| Continuous | Record everything |
| Event | Record on motion/detection |
| Smart | Record on AI detection (person, car, etc.) |
View Recordings
- Select camera > Timeline
- Use timeline scrubber
- Download clips as needed
7. Object Detection
Built-in Detection
- Motion detection (basic)
- Uses camera's built-in analytics when available
OpenCV Plugin
yaml
# Install OpenCV plugin for AI detection
Plugins > OpenCV
# Detects:
- Person
- Car/Vehicle
- Animal
- Face
Coral TPU Plugin
yaml
# For Google Coral TPU acceleration
Plugins > TensorFlow Lite
# Docker device mapping
devices:
- /dev/bus/usb:/dev/bus/usb # USB Coral
- /dev/apex_0:/dev/apex_0 # PCIe Coral
OpenVINO Plugin (Intel)
yaml
# For Intel CPU/GPU acceleration
Plugins > OpenVINO
# Best for Intel NUC, 6th gen+ processors
Detection Zones
- Select camera > Detection
- Draw zones on camera view
- Configure objects to detect per zone
- Set sensitivity and thresholds
8. Two-Way Audio
Requirements
- Camera with audio input
- Speaker/microphone support
- Compatible platform (HomeKit, Google, Alexa)
Configuration
- Enable audio on camera
- Configure audio codec (AAC preferred)
- Test in platform app
Doorbell Configuration
yaml
# Enable doorbell button detection
1. Camera settings > Doorbell
2. Map button press event
3. Configure chime behavior
9. Advanced Configuration
Multiple Streams
yaml
# Configure separate streams for different purposes
Main Stream: rtsp://....:554/stream1 (high quality, recording)
Sub Stream: rtsp://....:554/stream2 (low quality, detection)
# In camera settings
Recording Stream: Main
Detection Stream: Sub
Remote Stream: Sub
Rebroadcast Plugin
yaml
# Create reliable RTSP streams
Plugins > Rebroadcast
# Provides:
- RTSP re-streaming
- HLS output
- WebRTC output
- MPEG-DASH output
Script Plugin
javascript
// Custom automation script example
const camera = device;
camera.on('motionDetected', async () => {
console.log('Motion detected!');
// Trigger other actions
});
Webhooks
yaml
# Configure webhook notifications
1. Camera > Webhooks
2. Add webhook URL
3. Select events to trigger
# Webhook payload includes:
- Event type
- Camera ID
- Timestamp
- Thumbnail (optional)
10. Troubleshooting
Common Issues
Camera not connecting:
bash
# Test RTSP stream
ffprobe rtsp://user:pass@192.168.1.100:554/stream1
# Check Scrypted logs
docker logs scrypted
# Verify network connectivity
ping 192.168.1.100
Poor streaming quality:
yaml
# Optimize camera settings
- Reduce resolution to 1080p
- Lower bitrate (2-4 Mbps)
- Use H.264 (not H.265)
- Enable hardware transcoding
HomeKit issues:
bash
# Reset HomeKit pairing
1. Remove bridge from Apple Home
2. Scrypted > HomeKit plugin > Reset
3. Re-pair with QR code
# Check mDNS
avahi-browse -rt _hap._tcp
High CPU usage:
yaml
# Enable hardware transcoding
1. Verify GPU passthrough in Docker
2. Install appropriate plugin (Intel/NVIDIA/AMD)
3. Select hardware transcoder in camera settings
# Reduce detection resolution
- Use sub-stream for detection
- Lower detection FPS
Logs
bash
# Docker logs
docker logs -f scrypted
# Scrypted console
# Web UI > Console tab
# Enable debug logging
# Settings > Logging > Debug
11. Performance Optimization
Hardware Transcoding
yaml
# Intel Quick Sync
devices:
- /dev/dri:/dev/dri
# NVIDIA
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
Memory Management
yaml
# Docker memory limits
deploy:
resources:
limits:
memory: 4G
Network Optimization
- Use wired connection for Scrypted server
- Place cameras on dedicated VLAN
- Use PoE for reliable camera power
- Configure QoS for video traffic
Best Practices
- Use sub-streams for detection (saves CPU)
- Enable hardware transcoding when available
- Use HKSV for Apple users (end-to-end encrypted)
- Set retention policies to manage storage
- Configure zones to reduce false positives
- Regular backups of Scrypted configuration
- Update plugins regularly for fixes and features
- Monitor resources - cameras can be CPU intensive
- Use Coral TPU for best AI detection performance
- Separate network for cameras (security/performance)
Didn't find tool you were looking for?