Camera setup guide

Connect Dahua to Ceptory

Dahua cameras, NVRs and XVRs, and the many OEM brands built on Dahua firmware such as Amcrest, use the same /cam/realmonitor RTSP path. Ceptory Edge reads the sub stream and uploads only clips with activity.

Also covers: Amcrest, Dahua-made OEM cameras, Dahua NVRs and XVRs.

Stream URL

Dahua RTSP URL format

On a camera the channel is 1. On an NVR or XVR use the camera's channel number on the recorder.

Sub stream (use this one)
rtsp://<username>:<password>@<host>:<port>/cam/realmonitor?channel=<channel>&subtype=1
Main stream
rtsp://<username>:<password>@<host>:<port>/cam/realmonitor?channel=<channel>&subtype=0

On the camera

Prepare the stream

  1. 1

    Find the camera's IP address

    Use Dahua ConfigTool, the recorder's camera list, or your router. Reserve the address so it does not change.

  2. 2

    Set the sub stream to H.264

    In the web interface open the camera's Encode settings, choose Sub Stream, and set H.264, about 640×480 or 640×360, and 10 to 15 fps. Turn off Smart Codec for this stream.

  3. 3

    Check the RTSP port

    The network port settings list the RTSP port, 554 by default.

  4. 4

    Use a dedicated account

    Create a user with live view rights for Ceptory instead of sharing the admin password.

In Ceptory Edge

Add the camera to edge.toml

Or let the Connect a camera page in your dashboard build this file, including the stream URL, and check each step live.

edge.toml
[ceptory]
url = "https://www.ceptory.com"
api_key = "${CEPTORY_API_KEY}"   # a WRITE key from Dashboard → API keys

[defaults]
index_id = "your-index-id"        # from /dashboard/indexes/<index_id>
upload_mode = "motion"

[[cameras]]
id = "front-entrance"
name = "Front entrance"
url = "rtsp://admin:${CAMERA_PASSWORD}@192.168.1.64:554/cam/realmonitor?channel=1&subtype=1"
Check the camera, then start
ceptory-edge check
ceptory-edge run

check opens every stream and reports the codec, resolution and frame rate, so a wrong URL or password shows up before anything is uploaded.

Good to know

Dahua notes

  • subtype=1 is the sub stream and subtype=0 the main stream. Some models also offer subtype=2 as a third stream.
  • If the password contains characters such as @, : or /, the connect flow in the dashboard encodes them for you. When you write the URL by hand, replace @ with %40, : with %3A and / with %2F.

FAQ

Troubleshooting

Still stuck? Email us your Dahua model and the error you see, and we'll help you get it streaming.

ceptory-edge check says it could not open the stream

Open the same URL in VLC (Media → Open Network Stream) from the edge box. If VLC fails too, the URL, username, password or port is wrong, or RTSP is turned off on the camera. If VLC works, check that nothing on the box blocks outbound connections to port 554.

The camera shows online but no clips arrive

Clips are only sent when something moves. Walk in front of the camera, or lower motion_sensitivity (for example to 0.01) in edge.toml. If the camera's on-screen clock is counted as motion, add it to ignore_regions.

Do I need to open ports on my router?

No. Ceptory Edge runs inside your network, reads the cameras locally, and only makes outbound HTTPS connections to Ceptory. Nothing on the internet can reach your cameras through it.

Does all my footage go to the cloud?

No. Ceptory Edge watches every frame locally and uploads only short clips with activity, with a few seconds of context either side. Still footage stays on your cameras or recorder. You can also set upload_mode to off to send health and snapshots only.

Are camera passwords sent to Ceptory?

No. Stream URLs and passwords stay in edge.toml on your edge box. Ceptory only receives the camera's name, health, an occasional snapshot and the activity clips.

Get started

Search your Dahua footage in plain language

Connect a camera in a few minutes. Only activity clips are uploaded and indexed.