Driver Details

New Community

Dahua NVR

By: David Bowdler
Updated: June 26, 2026
Version: 2.09
Download Driver Purchase License
Rating: 0.0 (0 ratings)
Log in to rate this driver

Dahua NVR

Control Dahua network video recorders directly over your local network. The driver speaks the NVR's native CGI/HTTP API with Digest authentication — no cloud, no third-party bridge — for fast, reliable, fully local two-way control.

Key Features

  • Dynamic Camera Feed UI: Auto-programs onto RTI's native Dynamic Camera Feed page template — large live feed, current-camera name header, Previous / Cycle / Next, a Camera 1–N selector strip with the active camera highlighted, Refresh, and full PTZ controls.
  • Discover Cameras: A right-click tool in Driver Properties reads the cameras connected to your NVR and fills editable per-camera Name fields — your names then appear on the buttons and throughout the driver.
  • Up to 16 channels: Live RTSP (main & sub), JPEG snapshots, and per-channel online status, exposed as Image/Feed variables for a single shared panel layout.
  • PTZ: Continuous and single-step (jog) pan/tilt/zoom, zoom, presets and home.
  • Recording & events: Per-channel recording control plus real-time motion and alarm-input events.
  • Easy setup: Automatic channel-count detection, a built-in browse menu and automatic snapshot rotation.

Requirements

  • A Dahua NVR with the HTTP/CGI API enabled (most models).
  • RTI XP processor and Integration Designer 11.2 or later.
  • The NVR reachable on the RTI processor's network.

How It Works

Add the driver, enter the NVR's IP and credentials, and run "Discover Cameras" to pull in your channels and names. Drop the Dynamic Camera Feed page from the Page Wizard and the camera selector, live feed and PTZ controls auto-program. The driver polls the NVR over its CGI API for status and events and exposes every camera's RTSP and snapshot as bindable variables.

Tested on a single Dahua NVR model. Dahua NVRs vary by model and firmware, so please use the free 120-minute trial to confirm compatibility with your specific unit before purchasing.

Dahua NVR Control Driver v2.09

Smart Home Programming - smarthomeprogramming.com.au - 2026

Overview

Controls Dahua NVR/IP cameras via HTTP CGI API with Digest authentication.

Supports up to 16 camera channels with RTSP streaming, PTZ control, motion detection events, on-board smart motion (human/vehicle), recording control, and camera online/offline detection.

Configuration

- NVR IP Address: The IP address of your Dahua NVR

- HTTP Port: Default 80

- Username/Password: NVR login credentials

- Channel Count: Number of camera channels (1-16)

RTSP Streaming (Feed Variables)

Dahua RTSP URL format:

Main stream: rtsp://user:pass@IP:554/cam/realmonitor?channel=N&subtype=0

Sub stream: rtsp://user:pass@IP:554/cam/realmonitor?channel=N&subtype=1

Per-camera feed variables are available in the Integration Designer Feed picker:

- CamNRTSPFeed: Main stream RTSP URL for camera N

- CamNRTSPSubFeed: Sub stream RTSP URL for camera N

- SelectedRTSPImg: Main stream for the currently selected camera

- SelectedRTSPSubImg: Sub stream for the currently selected camera

Use these variables with RTI's built-in RTSP video command for live video display.

Camera Snapshots (Image Variables)

Per-camera snapshot variables are available in the Integration Designer Image picker:

- CamNSnapshot: Still image capture URL for camera N

- SelectedSnapshot: Snapshot for the currently selected camera (auto-updates on camera change)

Snapshot Rotation

When enabled, the driver automatically cycles through snapshots from all connected cameras.

Only cameras confirmed online by the NVR are included in the rotation.

- RotatingSnapshot: Image variable that updates on each rotation tick

- RotatingCamName: Name of the camera currently being displayed

- RotatingCamNum: Channel number of the camera currently being displayed

- RotatingRTSP: Main stream RTSP URL for the current rotating camera

- RotatingRTSPSub: Sub stream RTSP URL for the current rotating camera

Use RotatingRTSP/RotatingRTSPSub with RTI's built-in RTSP video command to cycle live streams.

Configure the rotation interval (3-60 seconds) in the Snapshot Rotation config category.

Camera Online/Offline Status

The driver detects connected cameras from the NVR's RemoteDevice configuration.

Only cameras with a valid device type and IP address are marked as online.

CamNOnline boolean variables indicate whether each camera is connected.

VIDEO_LOSS events fire when a camera goes offline during operation.

Camera IP addresses and model names are also available (CamNIP, CamNModel).

PTZ Control

Supports Pan/Tilt/Zoom and up to 32 presets per camera. Speed is configurable (1-7).

Motion Detection Events

The driver subscribes to the NVR event stream and fires events for:

- VideoMotion (MOTION_N): Standard pixel-change motion detection

- SmartMotionHuman (HUMAN_N): On-board human detection from the Dahua camera/NVR

- SmartMotionVehicle (VEHICLE_N): On-board vehicle detection from the Dahua camera/NVR

- VideoLoss (VIDEO_LOSS_N): Camera disconnected/offline

- AlarmLocal (ALARM_IN_N): Physical alarm inputs

The CamNMotion boolean variable mirrors the live motion state for use in feedback graphics or buttontags. Motion is held active for 15 seconds after the NVR sends a stop event so brief glitches don't toggle the indicator.

Recording Control

Start/stop recording per channel using the Record Enable CGI API.

Recording status is polled every 60 seconds and shown in CamNRecording variables.

NVR Info

NvrTime and NvrFirmware variables show the NVR's current time and firmware version.

NVR time is updated every 60 seconds via periodic poll.

Storage Monitoring

The driver polls the NVR for HDD usage every 15 minutes:

- StorageFreeGB: free disk space in gigabytes

- StorageFreePercent: free disk space as a percentage

- StorageStatus: "OK", "Low", or "Critical"

STORAGE_LOW fires when free space drops below the configured threshold; STORAGE_CRITICAL fires at half the threshold.

Debug Console

Connect via telnet to the configured Debug Port (default 12511) for live diagnostics.

Type 'help' for available commands including: test, api, stream, motion, events, status, cameras, info, rec, ptz, connect, disconnect, refresh, licence, pool.

Licensing

Enter your licence key from smarthomeprogramming.com.au/store.

A 120-minute trial is available for evaluation.

RTI Tags & Page Templates

The driver's default page template is "Dynamic Camera Feed". Add the NVR as a source, then use Page Wizard to add a Dynamic Camera Feed, Dynamic Camera Feed - Full, PTZ Camera, or Camera Multiview page - the buttons auto-program to the tags below. Each camera tag carries up to three bindings (command + active-highlight variable + camera-name text tag) under one tag name.

Camera selection (commands):

- Camera 1 ... Camera 16: select that camera. The same tag also carries the camera Name (text tag) and an Active highlight (variable).

- Next Camera / Previous Camera: step through cameras

- Cycle Cameras: auto-advance through cameras (the Cycle Cameras variable shows the active state)

- Refresh Camera Feed: reload the current feed

Live feed (variables):

- Current Feed (also tagged RTSP Camera): the selected camera's live RTSP feed - bind to the video/feed element

- Current Feed Name: the selected camera's name

- Camera N RTSP Main/Sub (Feed), Camera N Snapshot: per-camera feeds for multiview layouts

PTZ (commands):

- Up / Down / Left / Right: d-pad move (jog). OK: recall home position

- Continuous Up/Down/Left/Right + diagonals (Up-Left, Up-Right, Down-Left, Down-Right): hold-to-move; pair Stop on button release

- Jog Up/Down/Left/Right + diagonals: single-step move (repeats while held)

- Zoom In / Zoom Out / Zoom Stop, Continuous Zoom In / Continuous Zoom Out

- Home Preset, Stop

- PTZ Controls / PTZ Controls Show / PTZ Controls Hide: toggle the PTZ overlay (the PTZ Controls variable tracks visibility)

- PTZ Preset 1 ... PTZ Preset 8: recall presets

Recording (commands):

- Record On / Record Off: start / stop recording the selected camera

Browse list:

- Browse: the camera list (bind to a list element). Browse Menu: select an item

Per-camera status (variables, N = 1..16):

- Motion N: live motion. Human N / Vehicle N: smart detection. Recording N: manual-record state. Online N: camera online/offline

Other:

- Connected: driver connection state

- Remote Logging On / Off / Toggle: enable cloud diagnostics (Diagnostics category)

Support

Smart Home Programming

Web: smarthomeprogramming.com.au

Store / licence keys: smarthomeprogramming.com.au/store

For setup help, licence keys, or feature requests, contact us through the website above. We provide tech support for all our drivers.

This driver includes a free 120-minute trial on every processor for evaluation. Continued use requires a per-processor licence key.

Purchase a key at smarthomeprogramming.com.au/store. Keys are tied to the RTI processor's MAC address — one key unlocks one processor.