Stream Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet to Cloudflare R2

Deep learning AcuSense false-alarm reduction camera with offsite FTP archiving. Follow our step-by-step setup guide below to stream footage directly to Cloudflare R2 via FTP/S with Rilavek as the pipe — zero on-prem NVR required.

Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet - Product View
Zero NVR Vulnerability

Your Hikvision DS-2CD2046G2-I uploads footage offsite in real time directly to Cloudflare R2. Intruders cannot steal or destroy evidence by seizing on-prem recorder hardware.

S3-Native Retention

Store Hikvision DS-2CD2046G2-I recordings in Cloudflare R2 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 Hikvision DS-2CD2046G2-I and writes them directly to Cloudflare R2 via multipart S3 PUTs with zero disk writes.

Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet
Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet
FTP/S
Rilavek
Rilavek Bridge
S3 API
Cloudflare R2
Cloudflare R2

How to Stream Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet to Cloudflare R2

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 Cloudflare R2Cloudflare R2 Bucket & Generate API Keys

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

Before You Begin: Active R2 Subscription

Cloudflare R2 provides an included monthly free tier of 10 GB storage, 1,000,000 Class A operations (uploads), 10,000,000 Class B operations (reads), and $0 egress bandwidth fees. Ensure you have completed the initial R2 subscription setup in your Cloudflare dashboard under Storage & databases > R2 before generating tokens.

1

Open R2 and Create Your Surveillance Bucket

In the Cloudflare Dashboard , navigate to Storage & databases > R2 > Overview. Click the blue Create bucket button and specify a name, such as cctv-hikvision-recordings.

Location & Data Sovereignty (Jurisdictions):

Leave location set to Automatic for the lowest-latency edge ingestion worldwide. If your organization requires strict data residency, select a specific Jurisdiction (European Union eu, United States us, or FedRAMP fedramp). Note that jurisdictional buckets require jurisdiction-specific S3 endpoints.

2

Copy Your 32-Character Cloudflare Account ID

On the right sidebar of the R2 Overview page under the Account Details section, locate and copy your 32-character hexadecimal Account ID. This is required to assemble your unique S3 API endpoint.

3

Create an Account API Token with Scoped Permissions

Under Account Details on the R2 overview page, select Manage next to API Tokens, then click Create API Token:

  • Token Type: Choose Create Account API token (recommended for bridge infrastructure so credentials remain valid independently of individual user accounts; requires Super Administrator role).
  • Permissions: Select Object Read & Write. This grants S3 API upload, download, and listing capabilities without exposing administrative privileges (like deleting buckets or altering account configs).
  • Bucket Scoping: Select Apply to specific buckets only and pick your created bucket (cctv-hikvision-recordings).
  • TTL / Expiration: Leave blank for permanent 24/7 camera recording, or specify an expiration according to your organization's security rotation schedule.

Click Create Account API token to generate your credentials.

4

Copy Your Access Key ID and Secret Access Key

One-Time Secret Display:Cloudflare displays your Secret Access Key (the SHA-256 hash of the token value) only once. If you navigate away without copying it, you will have to generate a new token.

Record your Access Key ID (token ID) and Secret Access Key securely for Step 2.

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
Hikvision Surveillance Storage
https://<account_id>.r2.cloudflarestorage.com
AKIAIOSFODNN7EXAMPLE
••••••••••••••••••••••••••••••••
cctv-hikvision-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 Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet and generates a dedicated device-level password.

Rilavek Dashboard · Senders > Create New Sender Modal

Create New Sender

Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet
cam_ds2cd2046g2i

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

security@hikvision-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_ds2cd2046g2i
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_ds2cd2046g2i@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 Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet) 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.

Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet
cam_ds2cd2046g2i@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 Cloudflare R2 bucket (cctv-hikvision-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
Hikvision Storage (Cloudflare R2)
Primary
Target Bucketcctv-hikvision-recordingsProviderCloudflare R2StatusActive (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_ds2cd2046g2i@p_cctv9x
05

Configure FTP, Motion Detection & Linkage Method in Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet Firmware

Open your camera's web configuration page in your browser at its local LAN IP address and complete the steps below:

Step 5AConfigure FTP Streaming Credentials

Click Configuration > Network > Advanced Settings > FTP.

Enter your Rilavek Ingestion Pipe parameters as indicated by the red annotations below.

HIKVISION®
FTP
Email
Platform Access
QoS
Integration Protocol
Network Service
ftp.rilavek.com
Rilavek Ingestion Gateway: Managed global endpoint routing streams to your Cloudflare R2 bucket.
21
cam_ds2cd2046g2i@p_cctv9x
Anonymous
Scoped Rilavek Login: Enter cam_ds2cd2046g2i@p_cctv9x (SenderUsername@PipeID created in Step 3 & 4).
••••••••••••
Device Password: Enter the one-time generated password from your Rilavek Sender credentials in Step 3.
••••••••••••
Save in the parent directory
Custom
acusense-cam1
Target Cloud Storage Path: Root folder inside your Cloudflare R2 bucket.
1
Day(s)
Recommendation: Create a new subfolder per day (1 Day). Otherwise, all files will be saved in 1 monolithic directory in your cloud storage.
Default
Upload Picture / Video Clips
Test
Ready for Cloudflare R2
Save
Changes take effect immediately on next event trigger.

Step 5BConfigure Motion Detection (Area Settings)

Click Configuration > Event > Basic Event > Motion Detection.

To stream motion-triggered events instead of continuous 24/7 recording (saving cloud storage and bandwidth), configure your detection area and target filters as indicated by the red annotations below.

HIKVISION®
Motion Detection
Video Tampering
Exception
Enable Motion Detection
Required for Cloud Motion Trigger: Must be checked so the camera generates event clips to stream to your Rilavek pipeline.
Enable Dynamic Analysis for Motion
Area Settings
Arming Schedule
Linkage Method
Draw Detection Zone: Frame the surveillance area and configure smart AI target filtering below.
Motion Detection Area [1] ActiveAI Smart Event Filter: Human & Vehicle Detection
Human: 94%
07-21-2024 Sun 01:39:11
Camera 01
Video StreamSnapshot
Draw Area
Clear All
Human
Vehicle
Storage Cost Optimization: Filters out environmental false alarms (leaves, shadows, rain) to minimize S3 Class A PUT requests and overall cloud storage costs.
60
Save
Changes take effect immediately on next event trigger.

Step 5CConfigure Linkage Method (Upload to FTP)

Click Configuration > Event > Basic Event > Motion Detection > Linkage Method.

Check "Upload to FTP/Memory Card/..." so motion video clips stream to Rilavek as indicated by the red annotations below.

HIKVISION®
Motion Detection
Video Tampering
Exception
Enable Motion Detection
Required for Cloud Motion Trigger: Must be checked so the camera generates event clips to stream to your Rilavek pipeline.
Enable Dynamic Analysis for Motion
Area Settings
Arming Schedule
Linkage Method
Critical Rilavek Linkage: You must check "Upload to FTP/Memory Card/..." so detected motion clips stream directly into your Rilavek Ingestion Pipe!
Normal Linkage
Trigger Recording
Send Email
Notify Surveillance Center
Upload to FTP/Memory Card/...
Critical Upload Action: Checking this sends motion video clips to ftp.rilavek.com so they stream to Cloudflare R2.
A1
Save
Changes take effect immediately on next event trigger.

Hikvision Firmware Notes & Best Practices

Model-specific nuances, recommended settings, and verified workarounds for the DS-2CD2046G2-I

AcuSense Target Classification Filterinfo

To save cloud bandwidth, filter FTP uploads so only Human and Vehicle triggers upload clips.

Recommendation:Under Event > Smart Event, check 'Human' and 'Vehicle' targets and leave generic motion unlinked.
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 Cloudflare R2.

Rilavek Dashboard · Pipes > Transfers
Overview
Transfers
Refresh
FILESENDERSIZEDATESTATE
hikvision/ds-2cd2046g2-i/2026-09-10/ch01_143000.mp4
cam_ds2cd2046g2i18.4 MBSep 10, 14:30
Success
hikvision/ds-2cd2046g2-i/2026-09-10/ch01_142500.mp4
cam_ds2cd2046g2i21.2 MBSep 10, 14:25
Success
hikvision/ds-2cd2046g2-i/2026-09-10/ch01_142000.mp4
cam_ds2cd2046g2i19.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 Cloudflare R2 bucket with zero local buffering and no intermediate disk storage.

Common questions

Does the Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet require an on-site NVR to stream to Cloudflare R2?

No. The Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet has built-in FTP client firmware. It connects directly to Rilavek's cloud bridge on port 21, streaming video chunks into your Cloudflare R2 bucket without requiring a local NVR or PC.

How does retention work on Cloudflare R2?

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

What happens if my internet connection drops?

If your DS-2CD2046G2-I has a local MicroSD card installed, it records motion events locally and retries the FTP upload once connectivity is restored.

Stream Hikvision AcuSense 4MP DS-2CD2046G2-I Bullet to Cloudflare R2

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.