MilestoneSystemsInc / PowerShellSamples

A collection of samples for managing your Milestone XProtect VMS using MilestonePSTools in PowerShell
https://www.milestonepstools.com
MIT License
36 stars 12 forks source link

Corporate 2023 R3 - Seperate retention for Continous & Event on one camera #129

Closed subbuun closed 4 months ago

subbuun commented 4 months ago

We have a customer requirement to record each camera on Continuous & Event based, but delete all the recordings where there are no events after 30 days. And keep only the recordings when there is an event for more than 30 days.

Can we create Evidence lock for around 5 Minutes of Recording from the Event time, whenever there is a Analytics Event like TripWire, Line Crossing etc.

And set the Evidence lock for 1 Year.

Please advise.

Tarterman commented 4 months ago

@subbuun, I love the creativity of the idea. However, there is one main thing that prevents it from working.

If you have looked at how Milestone records video, we create a folder for every camera for every hour. That folder contains the video for the hour. We refer to each hour folder as a database. When you create an Evidence Lock, you are actually locking the entire hour folder that the video resides in. As an example, if you created an Evidence Lock on an incident that ran from 1:58pm to 2:03pm, you would actually be locking two full hours of video (from 1:00pm to 3:00pm).

So, in the solution you proposed, all it would take is each camera to have one event per hour and then all of your video will have an Evidence Lock on it.

The other potential issue (just to throw it out there) is that I'm not sure how a system would behave with tens or hundreds of thousands of Evidence Locks. It's definitely not something we test for so I'm not sure what the downside would be.

We've head customers who wanted a solution to a situation like you have proposed. There are some options but I would say that none of them are optimum.

One option is to add each camera to two different Recording Servers. One recording server records for the 30 days continuous and the other one records only on events and retains for a year (or however long is desired). The biggest downsides to this is that each camera needs two Recording Servers, you need more storage, and you will have two instances of each camera in the system which can get confusing for users in regards to which camera do they need to look at for video (the last one can be overcome with some good naming).

Another option is available with most single-sensor, fixed Axis cameras. Axis has a feature available on most single-sensor, fixed cameras called Area View. This feature is why you get 8-channels any time you add a single-sensor, fixed camera to Milestone. In the Axis camera, you could enable an Area View that is the full view which would mean that channels 1 and 2 of the Axis camera would be viewing the same thing. However, since they are treated as two cameras, you could add them to two separate storage configurations on the Recording Server. One storage configuration would store for 30 days and you would have those cameras record continuously and the other storage configuration would store for a year and those cameras would only record on event. Like the previous option, it would require more storage and you would still have two instances of the same camera. You may also still need more Recording Servers because your camera count has technically doubled. Some math would need to be done to figure that out.

subbuun commented 4 months ago

@Tarterman - Great Thanks for your timely reply & advice.