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)
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
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
# Install via script
curl -s https://raw.githubusercontent.com/koush/scrypted/main/install/docker/install-scrypted-docker-compose.sh | bash
npm Installation
# 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
# 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
# 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
# Install OpenCV plugin for AI detection
Plugins > OpenCV
# Detects:
- Person
- Car/Vehicle
- Animal
- Face
Coral TPU Plugin
# 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)
# 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
# Enable doorbell button detection
1. Camera settings > Doorbell
2. Map button press event
3. Configure chime behavior
9. Advanced Configuration
Multiple Streams
# 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
# Create reliable RTSP streams
Plugins > Rebroadcast
# Provides:
- RTSP re-streaming
- HLS output
- WebRTC output
- MPEG-DASH output
Script Plugin
// Custom automation script example
const camera = device;
camera.on('motionDetected', async () => {
console.log('Motion detected!');
// Trigger other actions
});
Webhooks
# 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:
# 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:
# Optimize camera settings
- Reduce resolution to 1080p
- Lower bitrate (2-4 Mbps)
- Use H.264 (not H.265)
- Enable hardware transcoding
HomeKit issues:
# 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:
# 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
# Docker logs
docker logs -f scrypted
# Scrypted console
# Web UI > Console tab
# Enable debug logging
# Settings > Logging > Debug
11. Performance Optimization
Hardware Transcoding
# Intel Quick Sync
devices:
- /dev/dri:/dev/dri
# NVIDIA
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
Memory Management
# 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)
Scan to join WeChat group