C
Cyrano Security
11 min read
Property manager workflow

Footage review is a filter on an event log, not a 45 minute scrub of a DVR timeline.

Every top-ranking guide on this keyword tells you to narrow your time window, find the right camera channel, scrub the DVR timeline at 4x speed, and export to USB. That is the workflow on a DVR with no indexed events. It takes 30 to 60 minutes per incident and it is why the typical property manager only reviews footage after a tenant report, never proactively.

This guide is for property managers who want to skip the scrub. The Cyrano device taps the HDMI multiview on your existing DVR, classifies everything it sees into a 9 field event record plus a thumbnail, and writes it to a queryable log in real time. By the time a tenant calls, the clip is already indexed, already thumbnailed, and one filter away from the screen you are holding.

See the indexed event log on my DVR
4.9from 50+ properties
Works on the HDMI output of any existing DVR or NVR
Up to 25 camera feeds indexed per unit
9 field event record plus a 480x270 JPEG thumbnail per event
Time-to-first-clip drops from 30-60 min to under 2 min

What every top search result actually describes

Read the first page of Google for “property manager camera footage review” and you will find the same advice repeated six different ways. Narrow your time window. Use timestamps. Review multiple camera angles. Know what to look for (headwear, sunglasses, avoiding eye contact). Document the request in writing. Every bullet on every guide is correct, and every bullet on every guide assumes the same underlying workflow: a human sitting at a DVR, dragging a timeline slider.

That workflow is slow because the DVR does not know what it recorded. It saved frames to a disk. The indexing it offers (motion detection, smart search) is a scan run on demand, keyed on channel number, and is wrong often enough that most property managers stop trusting it within a month.

The angle of this page is that the workflow does not have to be reactive and it does not have to be a scrub. If the footage is already classified as it is recorded, with a stable key and a thumbnail, review is a dashboard filter, not a timeline drag.

The scrub workflow, timed honestly

This is the actual workflow every top-ranking guide describes, with realistic minute ranges from property managers we have shadowed on a ride-along. Not one of these steps is wrong. All of them exist because the DVR has no event-level index.

1

Log into the DVR

Local on a Windows tower in the office closet, or remote through a port-forwarded IP. Remote access is broken on roughly a third of the deployments we see, which means driving to the property. Typical: 5 to 30 minutes.

2

Find the right camera channel

The DVR uses channel numbers (CH1 to CH16) and a grid. You know the physical camera as Loading Dock NE or Mailroom Interior, so you cross-reference the channel list taped to the wall or click through thumbnails until something looks right. Typical: 2 to 5 minutes.

3

Scrub the timeline

Drag a mouse-driven slider at 4x or 8x speed. Watch for the tenant, the package, the vehicle, the person of interest. Typical: 10 to 30 minutes depending on how tight your initial time window is.

4

Narrow to the minute

Drop back to 1x speed over the suspect 2 to 3 minutes. Rewatch. Notice that the clock on the DVR drifted 40 seconds over the last year so your timestamps are off. Typical: 5 to 15 minutes.

5

Export the clip

USB, MP4, sometimes AVI. Wait for the DVR to transcode. Rename the file so you can find it next week. Typical: 5 to 15 minutes.

The inversion: index the HDMI multiview continuously

A Cyrano unit sits inline on the HDMI cable that runs from your DVR to the monitor on the office wall. It decodes every composite frame, blanks the DVR overlay pixels (clock, camera-name strip, channel bug), runs detection across all 16 or 25 tiles simultaneously, matches the strip text to a tile.label, and writes an event record plus a thumbnail to the dashboard. All of that happens in 7 to 8 seconds from pixel to delivery.

The dashboard is where the property manager lives. It is not a DVR UI. It does not show a timeline. It shows a thumbnail grid of events, filterable by property, tile.label, event_class, and time window. Every thumbnail is a crop of just the tile where the event happened, not the whole multiview, so you can see what triggered the event without clicking.

Review request -> indexed event log -> 30 second clip

Tenant complaint
Time window
Camera name
Event class filter
Indexed event log
Thumbnail strip
30 second clip
Exportable MP4
Audit trail

What one event record actually looks like

Nine fields plus a JPEG. Every event that leaves a Cyrano unit has exactly this shape, whether it came from an apartment property in Atlanta or a construction trailer in Louisiana. Same shape means the dashboard filters are identical across the portfolio.

cyrano.event.json
Anchor fact

tile.label + iso8601_ts + event_class is the whole review query

Because tile.label is the camera name the DVR stamps on the strip (not an engineer code or a channel number), a property manager can filter events using the exact vocabulary they use on a walkthrough. “Show me every loiter event at Mailroom Interior between 12 and 6 PM yesterday.” Becomes property = Maple Ridge, tile.label = Mailroom Interior, event_class = loiter, iso8601_ts in the six hour window. The dashboard returns a thumbnail strip. Click, watch, done. The DVR never gets opened.

One filter, not five steps

This is the SQL shape of a typical property-manager review query. You do not actually write SQL in the dashboard, the dropdowns produce the same filter. The shape is shown so you can see how small the thing you are asking the system for actually is.

review_query.sql

That query returns in under a second across millions of events because the log is indexed on property, tile.label, event_class, and iso8601_ts. No scan, no timeline, no DVR session. The result is a thumbnail strip sorted by iso8601_ts. In practice a property manager picks values from dropdowns and clicks the matching thumbnail.

Before the index, after the index

Same property, same cameras, same tenant complaint. What the property manager actually does between “can you check the mailroom yesterday afternoon” and watching the 30 second clip.

Tenant complaint to 30 second clip

Log into the DVR, find the channel that maps to the mailroom camera, drag the timeline slider through 6 hours of afternoon footage at 4x speed, slow to 1x when something looks close, export the clip to USB, rename it, attach it to the incident report. Do it again for the adjacent camera because tenant remembers the direction wrong.

  • 30 to 60 minutes of property manager time per incident
  • Remote DVR access fails ~30% of the time, driving to site
  • Timestamp drift on the DVR clock breaks the time window
  • Channel number changes after layout swap, stored searches break

What the time savings look like on a single property

Representative numbers from a Class C multifamily property with 16 active tiles on a 4x4 multiview, averaging 6 tenant incident reviews per week over a typical month. Scrub workflow time is the median from property-manager ride-alongs. Filter workflow time is the median from Cyrano dashboard session logs.

0 minMedian scrub per incident
0 secMedian filter per incident
0 reviews/moTypical property
0 hrs/mo savedPer property

Five review requests a property manager actually gets in a week

Each one is something we have watched a property manager handle both ways. The filter column is what the dashboard dropdowns translate to. No SQL required.

Package was stolen from the mailroom

tile.label in (Mailroom Interior, Mailroom Exterior). event_class in (person_in_zone, package_tamper, loiter). iso8601_ts between delivery confirmation and tenant report. Returns every thumbnail of someone in the mailroom during the window.

Car was damaged in the north lot

tile.label in (North Lot A, North Lot B, Entry Gate North). event_class in (vehicle_dwell, person_in_zone, tamper). Time window 24 hours before the tenant noticed the damage.

Someone climbed the back fence

tile.label = Back Fence West. event_class = person_in_zone. Time window is the last 72 hours. Thumbnail strip filters down to actual climbs in under 30 seconds.

Did anyone tailgate into the building

tile.label = Front Lobby. event_class in (tailgate, person_in_zone). Time window is yesterday 5 to 10 PM. Every door-open event with a second person entering shows up as its own thumbnail.

Insurance needs footage of the 3rd floor hallway

tile.label = 3F Hall East. event_class = any. Time window is the hour of the reported fall. Returns every event on that tile with a clickable thumbnail, plus you can jump into the underlying DVR recording for the non-event minutes.

Filter dashboard vs. DVR timeline, side by side

If you already have a modern VMS like Avigilon, Milestone, or Genetec, some of this is built in. If you have a Hikvision DS-7716, a Dahua XVR, a Lorex, or any of the white-label rebrands that dominate Class B and C multifamily closets, the comparison below is the delta Cyrano provides.

FeatureDVR timeline scrubCyrano indexed event log
How review startsLog into DVR, find channel, drag sliderOpen dashboard, pick property + tile.label + time
Median time to first clip30 to 60 minutesUnder 2 minutes
What you filter onChannel number + motion flagproperty, tile.label, event_class, iso8601_ts
Survives layout swapNo, channel numbers shiftYes, tile.label stays with the camera name
Result previewNone, you watch the timelineThumbnail of just the triggering tile
Works off-siteOnly if remote DVR access is workingAny browser, any network
Audit trailNoneEvent record logs who queried what when
Install effortAlready installedOne HDMI cable, under 2 minutes

One day of the indexed log, from one property

A terminal dump of what the event log looks like for a single property in a 24 hour window. This is the raw material the dashboard renders as a thumbnail strip. Notice that most of the events are already classified by event_class, so a property manager reviewing a week never has to read unclassified motion blobs.

cyranoctl events --property maple-ridge --since 24h

Portfolio-wide review, not just one property

Because every Cyrano unit emits the same nine field event shape, a regional manager can filter across the entire portfolio with one query. tile.label is local to each property, property is the cross-portfolio key, and the rest of the filters work identically.

Events per property / day
0
Already classified
Median time to first clip
0s
Dashboard filter
DVR logins required
0
Works off-site
Hours saved per property / month
0
Across 26 reviews

Recorders the overlay mask library already covers

Indexing the HDMI multiview means reading the clock, the camera-name strip, and the channel bug out of the composite before the detector runs. Cyrano ships overlay templates for the recorder brands that dominate Class B and C property closets. If yours is in the strip below, you are ready on day one.

Hikvision DS-7xxxDahua XVR / NVRLorexAmcrestReolink NVRUniviewSwannNight OwlQ-SeeANNKEEZVIZBosch DIVARHoneywell PerformancePanasonic WJ-NX
20

At one Class C multifamily property in Fort Worth, Cyrano caught 20 incidents including a break-in attempt in the first month. Customer renewed after 30 days.

Fort Worth, TX property deployment

See the indexed event log on your own DVR

15 minute walkthrough on the recorder already in your office closet. We run the filter pipeline live and show you the thumbnail strip for the last 24 hours.

Book a call

Frequently asked questions

What actually slows a property manager down when they pull camera footage for an incident?

The timeline scrub. Even if you know the camera, the date, and the time window within 30 minutes, you still have to log into the DVR (remote access is broken on roughly a third of the deployments we see), find the right channel, drag a mouse-driven timeline slider, watch at 4x or 8x speed, narrow to a minute or two, rewatch at real speed, and then export to USB or MP4. 30 to 60 minutes per incident is normal. With three tenant complaints in a week, that is half a workday gone to scrubbing.

What does Cyrano actually store per event, and why does that make review fast?

Every event Cyrano emits is a nine-field JSON record plus a 480x270 JPEG thumbnail of the triggering tile. The fields are tile.label (the camera name the DVR stamps on the strip), tile.index (row-major position in the multiview), tile.coords (x, y, w, h in the composite frame), property (site identifier), layout_id (recorder layout, for example 4x4-std), overlay_mask (which DVR overlays got blanked before inference), event_class (person_in_zone, vehicle_dwell, loiter, tamper, and so on), iso8601_ts (recorder clock time), and latency_ms (capture-to-delivery time). Review is fast because you filter on those fields instead of scrubbing a timeline. Pick property + tile.label + event_class + a 30 minute iso8601_ts window and you get a thumbnail strip of every matching event. Click a thumbnail, watch the clip, done.

Do I have to install anything on my DVR, or open RTSP, or get IT involved?

No. Cyrano taps the HDMI output on your existing DVR or NVR, the same output that feeds the multiview monitor on your office wall. The recorder sees nothing different. Your guard keeps watching the same tiled view. Cyrano sits in the middle, decodes each composite frame, does its filter pipeline, and writes an indexed event record plus a thumbnail to the dashboard. Installation is one HDMI cable and one network cable, under 2 minutes on the recorder already in your closet.

My DVR is a Hikvision DS-7716 and the built-in smart search only indexes motion. How is this different?

DVR-side smart search has three chronic problems. It indexes motion, not event classes, so a plastic bag drifting across a parking lot produces the same result as a loiterer at the mailroom. It rebuilds the index on demand, which is why it takes two to five minutes to run a query on a 24 hour window. And it is keyed on channel number, so when maintenance swaps the layout and your loading dock camera moves from CH6 to CH9, the stored queries break. Cyrano keys events on tile.label (the camera name the DVR stamps on the strip, for example Loading Dock NE), which survives layout changes. Cyrano also classifies event_class at index time, so the log already knows the difference between a delivery van and a person loitering.

Can a non-technical property manager actually use this, or does it require SQL?

The dashboard is the intended UI. You pick a property from a dropdown, pick a tile.label from a second dropdown (the camera names are the ones the DVR already stamps on the monitor, not engineer codes), pick an event_class filter (person_in_zone, loiter, vehicle_dwell, tamper, or all), and set a time window. The results show as a thumbnail strip sorted by iso8601_ts. Click a thumbnail, watch the 30 second clip, click Export if you need the file for insurance or police. SQL exists for portfolio-wide reporting and webhook integrations, but a property manager handling a tenant complaint does not need to write any.

What about footage that is not an event? Does every 3pm Tuesday frame disappear?

No. The DVR still records everything continuously to its own disks, just like it always did. Cyrano does not touch the recorder's storage. What Cyrano adds is a parallel event-level index with thumbnails, so 99 percent of the time you can answer a review question from the index alone. For the remaining 1 percent (a request for the five minutes leading up to an event, or a subpoena for a specific two hour window that has no events), you still have the full DVR recording available. Time-to-first-clip drops for the common case without giving up the long-tail case.

How fast is the event actually available for review after it happens?

Median capture-to-delivery latency is 7 to 8 seconds on a 25 tile multiview, with a 5 to 15 second envelope across the portfolio. That means a person who walks into a detection zone at 2:04:12 PM shows up in the dashboard event log at around 2:04:20 PM, with a thumbnail, a tile.label, and a clickable 30 second clip. You do not have to wait for end-of-day batch indexing or for a cloud upload to finish.

What does the end-of-week review actually look like for a regional manager with 12 properties?

Open the dashboard, pick the property group, leave tile.label and event_class as All, set the time window to the last 7 days. You get a chronological thumbnail strip for every property across the whole portfolio. Filter down by event_class (loiter usually first, then tamper, then person_in_zone after hours), skim the thumbnails, click into the ones that look real. In practice this takes 15 to 25 minutes for a 12 property portfolio. Before Cyrano, that review either does not happen (95 percent case) or requires remoting into every DVR individually (the rare regional who still does this).

Do I need a new camera or can this run on whatever I already own?

Whatever you already own. Cyrano is agnostic about camera brand, firmware, and cabling. It reads the HDMI composite that the DVR produces for the wall monitor, which means the source could be analog HD-over-coax, IP, a mixed system, or even a 10 year old BNC installation that nobody has the password to. Supported recorders include Hikvision DS-7xxx, Dahua XVR and NVR, Lorex, Amcrest, Reolink NVR, Uniview, Swann, Night Owl, Q-See, ANNKE, EZVIZ, Bosch DIVAR, Honeywell Performance, and Panasonic WJ-NX. The overlay mask templates for each recorder are what make the detector resistant to the clock and channel-bug pixels that would otherwise flood the index.

What does the review workflow save me in a real month?

Representative numbers from a single Class C multifamily property with 16 active tiles: 5 to 8 tenant incident reviews per week, averaging 40 minutes each on the DVR scrub workflow, times 4 weeks, equals 13 to 21 hours per month of property manager time on footage retrieval alone. With the pre-indexed event log the same reviews take under 2 minutes each, which gives back 12 to 20 hours per month per property. Across a 12 property portfolio that is 2 to 3 full workdays per week of regional manager capacity back, most of which gets redirected to actually acting on what the footage shows instead of finding it.

If I already have a guard watching the monitor, do I still need an indexed log?

The guard watches live. The indexed log exists for everything that happens when the guard is not watching, which for most properties is 90 percent of the hour because the eye wanders, and 100 percent of the time on properties without a dedicated guard. The log is also what you need when the incident is reported 6 hours or 2 days after the fact, which is the normal case for package theft, tenant disputes, and insurance claims. Live monitoring and indexed review solve different problems. Cyrano does both off the same HDMI tap.

🛡️CyranoEdge AI Security for Apartments
© 2026 Cyrano. All rights reserved.

How did this page land for you?

React to reveal totals

Comments ()

Leave a comment to see what others are saying.

Public and anonymous. No signup.