Skip to main content

RTSP Camera Monitoring

PingZen checks IP cameras and video recorder (NVR) channels over RTSP, the protocol the camera streams its video with. A ping only proves that the camera has power and a network. An RTSP check proves that it accepts your login and has a stream at that address, and, if you turn it on, that the stream is actually delivering frames.

What a Check Does

  • Every check sends RTSP OPTIONS and DESCRIBE. No video is transferred. The result says whether the camera answers, whether it accepts the login, and whether there is a stream at that path, plus its codec and resolution.
  • Login: Basic and Digest. Addresses are rtsp:// (port 554 by default) and rtsps:// (port 322 by default; the camera’s certificate is not verified).
  • Video check, if you turn it on: every 5, 15 or 60 minutes (15 for a new camera) the checker reads up to 10 seconds of the stream and records frames per second, bitrate, keyframe interval, packet loss and delivery stalls. A bad sample counts only when the next sample confirms it.
  • Frame preview: on the monitor page you can load one keyframe of the stream. Your browser decodes it; PingZen does not store it. It works for H.264 for now and never appears on status pages or in alerts.

Statuses

What happenedStatus
No answer, connection refused, timeoutDown
The camera answers 403, 404, 454 or 461, or the stream description has no videoDown
During the video check: the stream closed, no frames arrived, UDP is blockedDown
The password was rejected (401)Degraded, and logins pause for an hour
The camera is busy (453, 503)Degraded
During the video check: delivery stalled for more than 2 s, a gap in the video, packet loss above 1%, frames per second below half of what the camera declaresDegraded
One of Your own limits is broken (frames per second, keyframe interval, bitrate), or the video format changed with Warn if the video format changes onDegraded

Degraded alerts come only if the alert rule has the Degradation (DEGRADED) trigger on; Service Down (DOWN) covers the rest.

Where the Check Runs

  • Cameras are checked by checkers only, never by the PingZen server. Each camera has exactly one checker.
  • A camera with a public address can use a public checker: Moscow, Novosibirsk or Minsk.
  • A camera inside a local network (192.168.x.x, 10.x.x.x, .local, …) needs a private checker in that network. Public checkers refuse private addresses.
  • A checker checks cameras from version 0.9.8. The form offers only the checkers that can.

Passwords and Lockouts

  • PingZen logs in at most once per check and closes the session afterwards.
  • After a rejected password, PingZen stops logging in to that device (address and port) with that login for an hour, so the camera does not lock the account after several attempts. Saving a new password clears the pause at once.
  • The login and password are stored in the PingZen database as you enter them, because every check needs them. Give PingZen a separate view-only account on the camera, not the administrator.

Adding a Camera

  1. Monitors → Create Monitor, then paste the stream link (rtsp://…) or pick RTSP.
  2. Under How to add, choose One camera, I have a link or Recorder (NVR).
  3. For Hikvision, Dahua, Reolink and Tapo, pick the Manufacturer and PingZen fills in the video path. For any other camera choose Other and enter the Video path from its manual.
  4. Enter the Login and Password. A login inside the link is moved into these fields.
  5. Pick the checker, then Check the connection.
  6. Under How often to check, set Camera availability and Video quality (Do not check turns the video check off). The video check uses the substream by default: it is lighter for the camera.

Video Recorders (NVR)

  • Recorder (NVR) adds 2 to 64 channels at once, all on one checker. Each channel becomes its own monitor and counts toward the monitor limit.
  • Channel numbers are filled in for Hikvision, Dahua and Reolink.
  • Channels of a recorder are checked every 5 minutes unless you choose otherwise.
  • When the whole recorder stops answering, you get one alert, «Recorder … is unreachable — N of M channels not answering», instead of one per channel. Incidents, uptime and webhooks stay per channel.

Import from CSV

  • A file can hold up to 500 rows and 1 MB. The login and password can sit in the link (rtsp://user:pass@host/…); they are moved into the login fields.
  • The checker is chosen for every camera. A local address goes only to a private checker; a row with no suitable checker fails with the reason.
  • Repeated names get «(2)», «(3)». See CSV import for the file format.

Limits

  • The shortest interval is 60 seconds: every check is a login to the camera.
  • On the Free plan every camera and every recorder channel is a monitor, up to 55; one checker per monitor; up to 10 private checkers.
  • Not supported: ONVIF, recording, live video, PTZ control, a frame preview for H.265.