Glide Vizion

Cameras & compatibility

NVR talks to cameras over RTSP — if a camera or recorder serves an RTSP stream, it almost certainly works. No vendor cloud account, no ONVIF discovery required: paste the stream URL and go.

Stream tiers#

Most IP cameras serve the same video at several resolutions. NVR uses each tier for what it’s good at:

TierHikvision channelUsed for
main101Focus view, recording, downloads, snapshots
sub102Grid tiles, recorded-playback scrubbing, thumbnails
third103Motion/detection evidence (on cameras that have it)

This tiering is what keeps 16 cameras smooth on one machine: the grid only ever pulls the cheap ~250 kbps sub streams, and the 4K main stream flows when you focus a single camera. Older two-stream cameras simply have no third — everything still works.

RTSP URL cheat sheet#

Replace user:pass and the host; channel numbers are 1-based.

VendorMain streamSub stream
Hikvisionrtsp://user:pass@cam:554/Streaming/Channels/101…/Streaming/Channels/102
Dahuartsp://user:pass@cam:554/cam/realmonitor?channel=1&subtype=0…&subtype=1
Axisrtsp://user:pass@cam:554/axis-media/media.ampadd ?resolution=640x360
Reolinkrtsp://user:pass@cam:554/h264Preview_01_main…/h264Preview_01_sub
Amcrestsame as Dahuasame as Dahua
ONVIF / othercheck the camera’s web UI or manual — the path varies

For Hikvision, the channel number is the camera (or DVR channel) times 100 plus the tier: camera 1 main is 101, DVR channel 6 sub is 602.

Codecs#

  • H.265 (HEVC) is the primary path — camera bytes go to disk and to the browser unchanged, so recording 16 cameras costs almost no CPU.
  • H.264 is fully supported end to end: ingest, recording, and playback. Mixed fleets are fine.
  • Browsers that can’t decode HEVC (Firefox, Chrome without hardware HEVC) get an automatic H.264 compatibility lane — the daemon transcodes on demand, only for that viewer, never for recording. Safari and Chrome on Mac play HEVC natively.

DVRs and multi-channel devices#

Writing 16 camera blocks for a 16-channel DVR is tedious and error-prone, so a devices block expands one entry into one camera per channel at boot:

devices:
  - id: dvr
    name: "Office DVR"
    vendor: hikvision            # hikvision | dahua
    host: 192.168.10.125:554
    username: admin
    password: CHANGEME
    channels: [1, 2, 3, 4]
    streams: [main, sub]
    record: true

Cameras appear as dvr-ch1, dvr-ch2, … with URLs built by the vendor adapter. Motion events from the device’s single control-plane stream are routed to the right channel camera automatically.

Audio#

Set audio: true on a stream to carry its audio track through to the browser and into recordings. Off by default per stream — most fixed cameras have no useful mic.

If a camera won’t connect#

Work through the troubleshooting page — and confirm the URL itself with a direct pull before blaming NVR:

ffprobe -rtsp_transport tcp "rtsp://user:pass@192.168.1.50:554/Streaming/Channels/101"