Stream Any Dahua Camera or NVR to Self-Hosted

Universal FTP configuration for all Dahua WizSense, WizMind, and TiOC cameras. Follow our step-by-step setup guide below to stream footage directly to Self-Hosted via FTP/S with Rilavek as the pipe — zero on-prem NVR or bridge hardware required.

Other Dahua Cameras & NVRs - Product View
Zero NVR Vulnerability

Your Dahua camera or NVR uploads footage offsite in real time directly to Self-Hosted. Intruders cannot steal or destroy evidence by seizing on-prem recorder hardware.

S3-Native Retention

Store Dahua camera and NVR recordings in Self-Hosted on your own terms. Apply automated bucket lifecycle rules to roll over or archive clips after 30, 90, or 365 days.

Direct Streaming Bridge

Rilavek ingests native FTP/S streams from your Dahua hardware and writes them directly to Self-Hosted via multipart S3 PUTs with zero disk writes.

Any Dahua Camera or NVR
Any Dahua Camera or NVR
FTP/S
Rilavek
Rilavek Bridge
S3 API
Self-Hosted
Self-Hosted

How to Stream Any Dahua Camera or NVR to Self-Hosted

Follow these 6 steps to provision your object storage, configure Rilavek’s Data Store, Sender, and Ingestion Pipe, enter your camera firmware settings, and establish automated S3 retention rules.

01

Set Up Your Self-HostedSelf-Hosted Bucket & Generate API Keys

Configure your target bucket and API credentials inside Self-Hosted so Rilavek can stream motion clips and continuous video directly into your storage.

  1. Access your RustFS Web Console or CLI and create your surveillance storage bucket.
  2. Under Access Keys, generate an Access Key and Secret Key pair with read/write policy.
  3. Ensure your RustFS instance is accessible via HTTPS (or Cloudflare Tunnel) on your configured port (e.g. https://rustfs.local:9000).
02

Add Your Data Store in Rilavek

In your Rilavek dashboard, navigate to Data Stores > New Data Store, select your provider, and enter your S3 credentials. Rilavek verifies the connection with an automated write-probe before saving.

Grant minimal S3 permissions first.Rilavek needs minimal, write-focused actions — nothing more.
Rilavek Dashboard · Data Stores > New S3 Data Store

Add New Data Store

S3 Compatible
Dahua Surveillance Storage
https://rustfs.local:9000
AKIAIOSFODNN7EXAMPLE
••••••••••••••••••••••••••••••••
cctv-dahua-recordings
Automatically executes multipart write-probe test before saving.Save Data Store
Fig 1: Add New S3 Data Store configuration in the Rilavek console.
03

Create a Camera Sender in Rilavek

Go to Senders in the Rilavek sidebar and click New Sender. A Sender represents the hardware identity of your Other Dahua Cameras & NVRs and generates a dedicated device-level password.

Rilavek Dashboard · Senders > Create New Sender Modal

Create New Sender

Other Dahua Cameras & NVRs
cam_otherdahuamodel

Must be at least 6 characters, lowercase, start with a letter/underscore, and contain only letters, numbers, hyphens, or underscores.

security@dahua-cctv.local

Secure credentials will be automatically generated for this sender.

CancelCreate Sender
Fig 2: Create New Sender modal assigning dedicated camera hardware identity.
Rilavek Dashboard · Senders > Generated Device Credentials

Sender Credentials

Make sure to copy your password now as you will not be able to see it again.
Username
cam_otherdahuamodel
PasswordSave for Step 5
••••••••••••
Done
Fig 3: Generated device-level username and one-time password for camera authentication.
04

Create & Configure Your Ingestion Pipe in Rilavek

Go to Pipes in the sidebar and click Create Pipe. Configure the 4 core sections of your pipeline: General (Pipe ID), Inputs (FTP), Access Control (Sender permission), and Destinations (Data Store).

1General Settings (Pipe ID)

Every pipeline in Rilavek is assigned an immutable, globally unique Pipe ID (e.g. p_cctv9x). This ID acts as an isolated ingestion channel that segregates audit logs, real-time transfer metrics, and storage routing. It also forms the second half of your scoped camera FTP login username (username@p_cctv9x).

Rilavek Dashboard · Pipes > Pipeline Settings > General

Pipe ID

p_cctv9x

Use this ID to identify this pipe in logs. Combine it with the sender username for complete authentication details.

Fig 4: General settings displaying the unique Pipe ID used for authentication.

2Inputs (FTP / FTPS Ingress)

The Inputs configuration defines how camera files enter Rilavek. Enabling the FTP Ingress input provides a persistent, high-availability ingestion server (ftp.rilavek.com) compatible with active and passive FTP modes, explicit TLS negotiation, and standard CCTV firmware video push routines.

Rilavek Dashboard · Pipes > Pipeline Settings > Inputs

Inputs

Enable inputs to receive data.

1 input enabled
FTP
SFTP

FTP Ingress

Endpoint enabled. Connect using your Sender credentials.

Host
ftp.rilavek.com
Port
21
Username
<sender>@p_cctv9x

Example: cam_otherdahuamodel@p_cctv9x

Password
••••••••••••

Use the password configured for the specific Sender.

Fig 5: Enabling the FTP Ingress endpoint for incoming surveillance video streams.

3Access Control (Sender Authorization)

Access Control prevents unauthorized uploads by enforcing a zero-trust boundary on the ingestion pipe. Only explicitly authorized Senders (such as Other Dahua Cameras & NVRs) can authenticate and stream video into this pipe. Any requests with unassigned credentials are rejected at the network edge.

Rilavek Dashboard · Pipes > Pipeline Settings > Access Control

Access Control

Restricts who can upload to this pipe.

1 sender allowed
1Individuals
Groups

Individual Senders

Grant or revoke pipe access for specific individual senders.

Other Dahua Cameras & NVRs
cam_otherdahuamodel@p_cctv9x
Fig 6: Restricting pipeline ingress access to your authorized camera Sender.

4Destinations (Target Cloud Storage Routing)

The Destinations section routes video clips to your target cloud storage provider. Linking your configured Data Store routes all received footage directly to your Self-Hosted bucket (cctv-dahua-recordings). Video files are committed on-the-fly via parallel multipart S3 PUTs without intermediate disk caching.

Rilavek Dashboard · Pipes > Pipeline Settings > Destinations

Destinations

This is where we send your files to.

1 destination added
Dahua Storage (Self-Hosted)
Primary
Target Bucketcctv-dahua-recordingsProviderSelf-HostedStatusActive (Ready for camera ingress)
Fig 7: Routing incoming camera footage directly into your S3-compatible cloud bucket.
Camera Connection Parameters (Enter in Step 5):Reference Values
Server Hostftp.rilavek.com
Port21
Usernamecam_otherdahuamodel@p_cctv9x
05

Configure FTP, Motion Detection & Linkage in Generic Camera Firmware

Open your camera's web configuration portal in your browser at its local LAN IP address and configure the universal FTP and event settings below:

Step 5AConfigure FTP Streaming Credentials

Click Network > FTP Settings (or Network > Advanced > FTP).

Turn on 'Enable FTP Upload', then enter your Rilavek Regional Gateway server (ftp.rilavek.com), port 21, scoped username (username@pipeId), and device password as indicated by callouts (1) and (2). Ensure Passive Mode (PASV) is checked (3) for seamless firewall traversal, then click 'Test FTP Connection' (4) to verify.

Generic IP Camera / ONVIF Web PortalLIVE
IP: 192.168.1.100 · ONVIF Profile S/G/T · RFC 959 FTP / RFC 4217 FTPS

Note on Camera Firmware UIs: Specific camera models (such as Uniview, Hanwha Vision, Ubiquiti UniFi, Bosch, Vivotek, TP-Link, Sunba, Escam, etc.) feature varying menu layouts, but all share the same universal configuration concepts shown below: enter your FTP server credentials with Passive Mode (PASV), define a motion trigger zone, and enable “Upload to FTP” as the action.

FTP & FTPS Upload SettingsRilavek S3 Ingest Gateway

Configure cloud storage streaming credentials to upload motion video clips and snapshots directly to your S3 bucket.

Enable FTP UploadActivates camera outbound transmission to the remote FTP pipe
Rilavek regional ingestion host
Standard FTP (21) or FTPS TLS
Scoped sender identity: cam_generic@p_cctv9x
Assigned device sender token
Target prefix in your S3 storage bucket
Enabled (PASV)
Essential for NAT firewall traversal
FTP Test Succeeded: Connected to ftp.rilavek.com:21. Ingestion pipe and destination S3 bucket are active and accepting streams.

Step 5BConfigure Motion Detection Zone & Sensitivity

Click Event > Motion Detection (or Video Analytics).

Turn on 'Enable Motion Detection' and adjust the detection grid over your active surveillance field (1). Set sensitivity to approximately 75% (2) and enable smart Human/Vehicle AI filtering if supported by your camera hardware to minimize false alarms.

Generic IP Camera / ONVIF Web PortalLIVE
IP: 192.168.1.100 · ONVIF Profile S/G/T · RFC 959 FTP / RFC 4217 FTPS

Note on Camera Firmware UIs: Specific camera models (such as Uniview, Hanwha Vision, Ubiquiti UniFi, Bosch, Vivotek, TP-Link, Sunba, Escam, etc.) feature varying menu layouts, but all share the same universal configuration concepts shown below: enter your FTP server credentials with Passive Mode (PASV), define a motion trigger zone, and enable “Upload to FTP” as the action.

Motion Detection & Event Zone SetupTrigger Settings

Define the motion detection area and AI sensitivity filters so the camera uploads video only when genuine activity occurs.

Detection Area Grid1
CAM 01 · FRONT ENTRANCE
ACTIVE DETECTION ZONE
Motion Grid Active (80% Area Covered)
Enable Motion Detection
Sensitivity2
Low75% (Recommended)High
Smart Target Filtering

Step 5CConfigure Linkage Action (Upload Video Clip to FTP)

Click Action > Upload Linkage (or Event > Linkage Action).

Select 'Upload Video Recording to FTP / Cloud' (1) as the primary trigger action. Set a 5-second pre-recording buffer (2) and 30-second post-recording buffer so complete event clips are transmitted to your S3 bucket upon motion detection.

Generic IP Camera / ONVIF Web PortalLIVE
IP: 192.168.1.100 · ONVIF Profile S/G/T · RFC 959 FTP / RFC 4217 FTPS

Note on Camera Firmware UIs: Specific camera models (such as Uniview, Hanwha Vision, Ubiquiti UniFi, Bosch, Vivotek, TP-Link, Sunba, Escam, etc.) feature varying menu layouts, but all share the same universal configuration concepts shown below: enter your FTP server credentials with Passive Mode (PASV), define a motion trigger zone, and enable “Upload to FTP” as the action.

Event Linkage & Upload ActionsAction Rules

Instruct the camera firmware what action to take upon motion trigger. Enabling “Upload to FTP” routes video clips directly to Rilavek.

Select Trigger Actions:
Upload Video Recording to FTP / CloudPipes H.264/H.265 video chunks directly to Rilavek > S3
1
Upload Snapshot (JPEG) to FTPTransmits thumbnail snapshot image upon event start
Send Email Alert
Trigger Audio Alarm / Siren
Buffers 5s of footage before motion trigger
Continues recording after motion stops
Splits recordings into manageable video chunks for efficient S3 multipart PUTs

Dahua Firmware Notes & Best Practices

Model-specific nuances, recommended settings, and verified workarounds for the Other Dahua Model

Record vs Snapshot Tab Activationwarning

Dahua separates Snapshot and Video Record into distinct FTP sub-tabs.

Solution:Ensure both 'Record' and 'Snapshot' check-boxes are enabled under the FTP tab.
06

Verify Ingestion

Click Test in your camera's FTP settings or trigger a test recording transfer. In your Rilavek dashboard, navigate to Pipes > your pipeline > Transfers tab to inspect incoming files as video clips stream into Self-Hosted.

Rilavek Dashboard · Pipes > Transfers
Overview
Transfers
Refresh
FILESENDERSIZEDATESTATE
dahua/other/2026-09-10/ch01_143000.mp4
cam_otherdahuamodel18.4 MBSep 10, 14:30
Success
dahua/other/2026-09-10/ch01_142500.mp4
cam_otherdahuamodel21.2 MBSep 10, 14:25
Success
dahua/other/2026-09-10/ch01_142000.mp4
cam_otherdahuamodel19.7 MBSep 10, 14:20
Success
Showing 3 of 3 transfers
Fig 8: Transfers log confirming incoming camera recordings streaming directly into cloud storage.
Direct S3 Ingest VerifiedIncoming surveillance streams are committed on-the-fly directly to your Self-Hosted bucket with zero local buffering and no intermediate disk storage.

Common questions

How do Dahua cameras and NVRs stream recordings to Self-Hosted?

All Dahua IP cameras and NVRs feature native FTP upload capabilities in their firmware. They connect directly to Rilavek on port 21, streaming video chunks straight into your Self-Hosted bucket with zero disk writes.

How does retention work on Self-Hosted?

You define exact retention policies (e.g. 30, 90, or 365 days) directly in your Self-Hosted bucket using standard S3 Lifecycle expiration rules. Footage is never auto-overwritten by proprietary cloud caps.

What happens if my internet connection drops?

The Dahua camera or NVR continues recording locally (to internal drives or MicroSD) and resumes offsite FTP streaming to Self-Hosted once connectivity is restored.

Stream Any Dahua Camera or NVR to Self-Hosted

Create your free Rilavek ingestion pipe in seconds. No NVR hardware, no proprietary camera cloud subscriptions, and 100% data ownership in your private storage bucket.

Free plan includes 10GB of transfer. No credit card required.