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
OPTIONSandDESCRIBE. 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) andrtsps://(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 happened | Status |
|---|---|
| No answer, connection refused, timeout | Down |
| The camera answers 403, 404, 454 or 461, or the stream description has no video | Down |
| During the video check: the stream closed, no frames arrived, UDP is blocked | Down |
| 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 declares | Degraded |
| 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 on | Degraded |
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
- Monitors → Create Monitor, then paste the stream link (
rtsp://…) or pick RTSP. - Under How to add, choose One camera, I have a link or Recorder (NVR).
- 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.
- Enter the Login and Password. A login inside the link is moved into these fields.
- Pick the checker, then Check the connection.
- 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.