dahua-camera-ultimate
v1.0.1
Published
Dahua Camera Ultimate - Homebridge plugin for direct Dahua IP camera integration with motion detection and FFmpeg streaming
Readme
Dahua Camera Ultimate
Homebridge plugin for direct Dahua IP camera integration — connects to individual cameras by IP, not via an NVR.
Features
- 📷 Direct camera connection — no NVR required
- 🔍 Auto-discovery of camera model, serial, and firmware
- 📹 RTSP streaming — mainstream, substream, or thirdstream
- 📸 Fast snapshots via CGI API
- 🎯 Motion detection via real-time event stream
- 🚀 Hardware acceleration — VAAPI, QuickSync, NVENC, AMF, VideoToolbox, V4L2
- 🎥 HomeKit Secure Video (HKSV) with prebuffering
- ⚙️ Homebridge Config UI X support
Installation
npm install -g dahua-camera-ultimate@latestOr install via Homebridge Config UI X by searching for dahua-camera-ultimate.
Configuration
Add one platform entry per camera:
{
"platforms": [
{
"platform": "Dahua_Camera_Ultimate",
"name": "Front Door",
"host": "192.168.1.101",
"username": "admin",
"password": "your_password"
},
{
"platform": "Dahua_Camera_Ultimate",
"name": "Backyard",
"host": "192.168.1.102",
"username": "admin",
"password": "your_password"
}
]
}Configuration Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| name | string | host IP | Camera display name in HomeKit |
| host | string | required | Camera IP address or hostname |
| port | number | 80 | HTTP port |
| secure | boolean | false | Use HTTPS |
| username | string | required | Camera username |
| password | string | required | Camera password |
| channel | number | 1 | RTSP channel (usually 1) |
| streamType | string | mainstream | mainstream, substream, or thirdstream |
| motion | boolean | true | Enable motion sensor |
| motionTimeout | number | 1 | Seconds before motion resets |
| videoProcessor | string | bundled | Path to custom FFmpeg binary |
| probeOnStartup | boolean | false | Log stream codec info on startup |
| debugMotion | boolean | false | Log all motion events |
Video Config
{
"videoConfig": {
"encoder": "software",
"resolutionMode": "adaptive",
"maxWidth": 1920,
"maxHeight": 1080,
"maxBitrate": 2000,
"audio": true,
"recording": false,
"prebuffer": false
}
}Hardware Acceleration
The bundled ffmpeg-for-homebridge only includes software codecs. To use hardware acceleration install or compile FFmpeg with the appropriate encoder support, then set the videoProcessor path and select the encoder in videoConfig.
For hardware encoders, set resolutionMode to force-max to avoid being stuck at 640x360.
Credits
- Author: pit5bul
- Inspired by homebridge-camera-ffmpeg
