How to do motion dect on one stream but record another?

Forum for questions and support relating to the 1.28.x releases only.
Locked
kameraoveralt
Posts: 3
Joined: Thu Nov 27, 2014 9:35 pm

How to do motion dect on one stream but record another?

Post by kameraoveralt »

Hi, First things first: Thank you zoneminder and thank you to the lovely community! You both rock unbelievable much 8)

I have required a network encoder that allows me to acquire multiple streams per channel. So to unload my machine a bit I was thinking of doing the motion detection on a lower resolution stream, but when motion is detected I would like it to record from the full resolution stream. I guess I could do this simply by just linking the monitors, but then I would end up with two recordings right ?

Maybe there is a better way to do this?

Keep on rocking!
0_0
Posts: 4
Joined: Sat Nov 01, 2014 11:30 am

Re: How to do motion dect on one stream but record another?

Post by 0_0 »

What are you trying to solve?

Presumably to have low overhead on the system using a low res stream?

It looks difficult to achieve that with current camera options:

I don't know whether this would be possible. The solution would be to add a new mode for cameras that is 'detection only' then link up with 'modect'. Even with this doesn't look perfect solution.

cam1 low res stream, 'detect' mode.
cam2 high res stream, 'modect' mode.

Then link'em up.

But what would be the total resources saved?

This could probably be useful with >8 cameras.

Interesting proposition.

How about the networking factor? While ZM is using the low res stream as soon as detection kicks in there has to be a fast mechanism to grab the full res stream, apply detection on the that, etc.

So far here rtsp is a funny protocol, it needs some sort of 'warming' to have a smooth stream. That switch looks like several processes would be involved.

Another problem, how to reconcile the detection lines?
During detection, do you want to save ONLY the full res stream?
Do you want to overlay the detection of the low res over the full hd stream?
Do you want the low res stream hand over detection completely to full res stream during the process?
Etc...

cheers!
carcachute
Posts: 38
Joined: Wed Jul 23, 2014 12:21 am

Re: How to do motion dect on one stream but record another?

Post by carcachute »

Linking is exactly what you'd do.

For lowest CPU load, set the low-resolution camera stream to MJPEG. Put your motion zones in there and set the monitor function to MODECT. The high-resolution stream should then be linked to the low-resolution stream and set to NODECT.

You will end up with two recordings. The low-res stream will record with the motion blobs and detection statistics. The lower resolution playback is very useful for viewing remotely over the Internet when bandwidth is an issue. VGA resolution is generally good enough to see if an event warrants further investigation.

If you do want to look in more detail, then you can view the higher-resolution recording from the same time.

The issue with doing it this way is that you will get a large spike in load when your system is recording massive JPEG images from the high-res feed.

What I do is record direct to disk 24/7 outside ZoneMinder using a command line script that invokes VLC from the command line. I use constant bit rate on the high-res stream so my files are consistent. Then I ONLY use the low-res feeds in ZoneMinder with MODECT. If I see an event that is of concern in ZoneMinder, I have 7 days of continuous, full resolution recordings available in 15-minute long files with 20 seconds of overlap between each file. It works very well, and I'm running two 2MP cams and one 3MP camera on an Intel Atom box with about 35% peak load!
Locked