"on-demand" mocord - constant h264 record with modect as-needed?
Posted: Thu Sep 20, 2018 3:57 pm
I'm currently still using ZM 1.30.4. But I gave another PVR a try, and the one thing I really liked was "native" h264 recording: I could do the equivalent of ZM's always-record with negligible CPU utilization (my cameras output h264 streams).
If I understand correctly, ZM added experimental h264 pass-through in 1.31. And with the 1.32.0 release, I assume this is considered a production-ready feature?
I got to thinking about my ideal camera setup. I believe it's similar to ZM's mocord (record-everything plus motion detection), but with the following spin: instead of motion detection happening in real-time, it does it only when requested (on previously recorded footage). This could also be done as batch processes, on some schedule (say every four hours). This would obviously give up real-time alerting. But I'm not currently using that feature. My camera use-case is more about "postmortem" analysis, i.e. if something did happen, I'd go back and review camera footage. But 99.999% of the time, I have no need to review footage.
In other words, with the CPU and storage-space efficiency of h264, I want to record everything all the time. But if I ever need to go back and look at footage, I want an easy way to navigate the footage. Let's say I have a dispute about package delivery. Ideally, I'd go into the ZM console and say, "Do motion detection analysis on the last 24-hours of recorded footage per my modect rules, and generate events from those for my review."
Is something like this possible?
For what it's worth, I currently have three cameras. For each camera, I have a high-resolution stream doing modect, and a secondary low-resolution stream for constant recording. The latter is a backup against important stuff getting missed by modect. I also have a batch process to convert all events (i.e. high-res modect and low-res record) to an h264 stream for space-efficient archiving. But all this adds up to a lot of CPU and I/O overhead. For my use case, it seems far more efficient to just always record a single hires h264 stream natively, and to motion-detection analysis as-needed (which is very rare).
Thanks!
If I understand correctly, ZM added experimental h264 pass-through in 1.31. And with the 1.32.0 release, I assume this is considered a production-ready feature?
I got to thinking about my ideal camera setup. I believe it's similar to ZM's mocord (record-everything plus motion detection), but with the following spin: instead of motion detection happening in real-time, it does it only when requested (on previously recorded footage). This could also be done as batch processes, on some schedule (say every four hours). This would obviously give up real-time alerting. But I'm not currently using that feature. My camera use-case is more about "postmortem" analysis, i.e. if something did happen, I'd go back and review camera footage. But 99.999% of the time, I have no need to review footage.
In other words, with the CPU and storage-space efficiency of h264, I want to record everything all the time. But if I ever need to go back and look at footage, I want an easy way to navigate the footage. Let's say I have a dispute about package delivery. Ideally, I'd go into the ZM console and say, "Do motion detection analysis on the last 24-hours of recorded footage per my modect rules, and generate events from those for my review."
Is something like this possible?
For what it's worth, I currently have three cameras. For each camera, I have a high-resolution stream doing modect, and a secondary low-resolution stream for constant recording. The latter is a backup against important stuff getting missed by modect. I also have a batch process to convert all events (i.e. high-res modect and low-res record) to an h264 stream for space-efficient archiving. But all this adds up to a lot of CPU and I/O overhead. For my use case, it seems far more efficient to just always record a single hires h264 stream natively, and to motion-detection analysis as-needed (which is very rare).
Thanks!