Camera setup guide
Connect Any ONVIF camera to Ceptory
If your brand is not listed, or you don't know the RTSP path, let Ceptory Edge ask the camera. ONVIF Profile S cameras report their stream URLs, and ceptory-edge discover lists them for every camera on the network.
Also covers: Hanwha (Wisenet), Bosch, Vivotek, i-PRO, Tiandy, other ONVIF Profile S devices.
Discovery
Let the agent find the URL
Find any ONVIF camera on your network and get its RTSP URL with ceptory-edge discover.
ceptory-edge discover
ceptory-edge discover --username admin
192.168.1.64 HIKVISION DS-2CD2043G2
mainStream: H264 2560x1440 rtsp://admin:[email protected]:554/...
subStream: H264 640x360 rtsp://admin:[email protected]:554/...On the camera
Prepare the stream
- 1
Turn on ONVIF
Most cameras ship with ONVIF on. Some need it switched on, and some need a separate ONVIF user, in the camera's network or integration settings.
- 2
Run discover on the edge box
Run ceptory-edge discover to list cameras, then ceptory-edge discover --username admin to list each camera's stream URLs. In Docker, the container needs host networking for discovery.
- 3
Pick the sub stream
Each camera usually lists a high-resolution main profile and a smaller sub profile. Copy the smaller one into edge.toml and replace PASSWORD with the real 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.
[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://viewer:${CAMERA_PASSWORD}@192.168.1.64:554/stream"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
Any ONVIF camera notes
- Discovery uses multicast, so the edge box must be on the same network segment (VLAN) as the cameras.
- ONVIF password digests include a timestamp. If the camera's clock is far off, it rejects the request; set the camera to use NTP.
FAQ
Troubleshooting
Still stuck? Email us your Any ONVIF camera model and the error you see, and we'll help you get it streaming.
Discover finds no cameras
Check that ONVIF is on, that the edge box is on the cameras' VLAN, and in Docker that the container runs with --network host. You can always type the RTSP URL by hand instead.
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.
Other cameras
More setup guides
Get started
Search your Any ONVIF camera footage in plain language
Connect a camera in a few minutes. Only activity clips are uploaded and indexed.
