Camera stuck in "Pending"
Camera stuck in “Pending”
You added a camera from the installer console a few minutes ago. It still shows the gray Pending badge and has not turned Online. A healthy add transitions from Pending to Online within ~15 seconds of the gateway or server confirming RTSP. This page is for installers walking the site.
Symptom
On the Cameras page, the new camera’s row shows:
- Gray dot, status text Pending.
- Empty Last seen column.
- Clicking the row opens the detail page, but live view fails with
Stream not ready.
Likely causes
-
The gateway has not acknowledged the
connect_cameracommand. For gateway-mode cameras the cloud sends a WebSocket command to the gateway after create. If the gateway is offline or on a different org, the command never runs. -
ONVIF auth rejected. The cloud accepts the create call but the gateway then fails WS-Security auth against the camera. Transition to Online never happens.
-
RTSP URL format rejected by go2rtc. For direct-RTSP and RTSP-via-gateway modes, the URL must include the scheme, credentials, host, and stream path that the camera expects. A malformed path leaves the connection stuck.
-
The camera’s codec is advertised but not usable downstream. The gateway accepts many codec identifiers at ingest (H.264, H.265, MPEG-4, MJPEG). Pages fail later:
- WebRTC browsers require H.264 or H.265 for playback.
- The cloud AI frame extractor requires H.264/H.265 bitstreams.
If your camera can be configured to output H.264, set it there and re-add to NovaVMS.
Fixes
If the gateway has not acknowledged
- Open Gateways in the left nav.
- If the gateway’s row is red, fix it first — see Gateway shows “Offline”. Pending cameras clear automatically once the gateway reconnects and re-runs the cached
connect_cameracommands. - If the gateway is green, open the camera detail page and click Reconnect. This moves the camera back to
pendingand the cloud re-sendsconnect_camera.
If ONVIF authentication is rejected
- On the camera detail page click Edit credentials.
- Re-enter the ONVIF username and password exactly as set in the camera’s own web UI. Leading or trailing spaces cause silent auth failures.
- If still rejected, WS-Security clock drift is the next suspect — see ONVIF authentication fails with a clock-drift error.
If the RTSP URL is rejected
- On the camera detail page click Edit connection.
- Try an alternative RTSP path documented by the camera vendor. For many cameras the main stream is at
/Streaming/Channels/101(Hikvision),/cam/realmonitor?channel=1&subtype=0(Dahua), or/stream1(Tapo / generic). - Include credentials inline as
rtsp://user:pass@host:554/pathwhen the camera requires basic auth. - Save. The state machine returns to
pendingand retries the connect.
If the codec is unsupported
- Open the camera’s own web UI and confirm the main stream encoding is H.264 or H.265. MJPEG and MPEG-4 may be accepted at ingest but fail later in the WebRTC or AI pipeline.
- Switch the stream to H.264 if possible (widest compatibility). Save on the camera side.
- On the camera detail page click Reconnect.
Verify the fix
- The camera’s dot turns green within 30 seconds of the fix.
- Status text changes from Pending to Online.
- The live view tile renders a frame on the camera detail page.
- The Last seen timestamp is within the last minute.
Still stuck?
- Gateway shows “Offline” — fix the gateway if that is the upstream cause
- ONVIF authentication fails with a clock-drift error — common WS-Security trap
- Add a camera to an existing site — rebuild the add flow from scratch as a last resort
- Check the list of supported cameras and ONVIF profiles — unsupported models often land in Pending and never recover.
- Read what the camera lifecycle (Added → Pending → Online) actually is for background on each state transition.