-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event Close Mode Time not working on RECORD #3197
Comments
Thanks for opening your first issue here! Just a reminder, this forum is for Bug Reports only. Be sure to follow the issue template! |
Issue #3197 Add RECORD to Event_Close_Mode time
One of my solutions has been merged, but I think it should be fully acting according to the docs and I've been thinking a little forward about my solution: https://zoneminder.readthedocs.io/en/stable/userguide/options/options_config.html
In fact the new conditions regarding to the MOCORD option, I'm not 100% sure if they are well coded. Theorically the 3 scenarios are CLOSE_TIME = regardless if RECORD or MOCORD, on TIME, close. This doesn't affect the MOCORD scenario with the current conditional So I still believe that even the current adaption which is better, shall be improved to the scenarios given in the docs Brief solution: RECORD = close always on time since it's not a mode contingent to an ALARM In fact, CLOSE_IDLE is not something being currently used. This is the diagram for the MOCORD scenario Still, I don't understand the meaning of this conditional, it's neither reflected on the docs, or at least for me, makes any logic.
Maybe some organized cam admins, want to have their recordings in perfect rounded time sets, but with this logic perspective, this will apply on CLOSE_ALARM. Personally, I would recommend removing it because it only offers an unexpected behaviour |
So I'm trying to wrap my head around this still. Let me address your final concerns about timestamp->tv_sec % section_length. You are correct, MANY people want their events to start and stop on nice neat lined up intervals. it is a BAD practice but they want it. Why is it a bad practice? Because ending an mp4 is a lot of work and hammers the IO to the disk, which is ok, but if ALL of your monitors hammer the disk at exactly the same time it will not work out so well. It really is much better to stagger the start/stop times of events. |
Looking at the current code, we don't seem to be taking into account the current alarm status. Only whether we are recording. I think I will start by breaking the code up to make it more readable. We may need another setting. If in record mode, we don't care about mode=ALARM. We only care about whether we are starting on a round timestamp or not. So I am going to move this into the monitor (because we might want different settings for each monitor. And I am going to turn it into two settings. One for having events start/stop on even timestamps and another for when in mocord if we will end an event if we are alarmed |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
What happened with this topic? |
Where we are is that all of this code has changed drastically. I have one more branch to fit in before getting back to this. |
Wow, almost 2 years. I just recently finally got around to refactoring the code that makes the event open/close choice. The new code is much more simple and easy to understand. So I feel like we are now in a position to address this issue. |
Describe Your Environment
If the issue concerns a camera
N/A
Describe the bug
If I set the Function on RECORD, and set a Length, it doesn't stop the event on the given Event in case the EVENT_CLOSE_MODE is set to time. This only works on MOCORD
To Reproduce
Steps to reproduce the behaviour:
Expected behavior
Similarly to MOCORD, it should stop on event length if Event Close Mode is set to time.
I will be providing a patch for this
The text was updated successfully, but these errors were encountered: