Rename Traditional Recording to Event-Based Recording, +

+ Re-arrange some fields and make them only show when advanced is toggled on in the Monitor Settings
+ removal of some unused fields
timelapse-frames-through-websocket
Moe 2022-06-30 21:16:32 -07:00
parent 374c34faec
commit 0ae6bc8419
5 changed files with 653 additions and 726 deletions

File diff suppressed because it is too large Load Diff

View File

@ -659,7 +659,7 @@
"HLS Preset": "Preset Template",
"in seconds": "in seconds",
"HLS List Size": "List Size",
"Traditional Recording": "Traditional Recording",
"Event-Based Recording": "Event-Based Recording",
"Recorded Buffer": "Recorded Buffer",
"Buffer Preview": "Buffer Preview",
"HLS Start Number": "HLS Start Number",
@ -732,7 +732,7 @@
"Stream to YouTube": "Stream to YouTube",
"Stream to YouTube Flags": "Stream to YouTube Flags",
"Recording Flags": "Recording Flags",
"Traditional Recording Flags": "Traditional Recording Flags",
"Event-Based Recording Flags": "Event-Based Recording Flags",
"Output Method": "Output Method",
"Webhook": "Webhook",
"Event Webhook Error": "Event Webhook Error",
@ -742,6 +742,7 @@
"Command": "Command",
"No Trigger": "No Trigger",
"noTriggerText": "If motion has not been detected after the timeout period you will recieve an Discord notification.",
"On Event": "On Event",
"on Event": "on Event",
"Allow Next Alert": "Allow Next Alert",
"Allow Next Webhook": "Allow Next Webhook",
@ -859,9 +860,8 @@
"libvorbis (Default)": "libvorbis (Default)",
"libopus": "libopus",
"aac (Default)": "aac (Default)",
"Traditional (Watch-Only, Includes Buffer)": "Traditional (Watch-Only, Includes Buffer)",
"Hotswap Modes (Watch-Only)": "Hotswap Modes (Watch-Only)",
"Delete Motionless Videos (Record)": "Delete Motionless Videos (Record)",
"Event-Based Recording (For Watch-Only Mode)": "Event-Based Recording (For Watch-Only Mode)",
"Delete Motionless Videos (For Record Mode)": "Delete Motionless Videos (For Record Mode)",
"US": "US",
"EU": "EU",
"Silent": "Silent",
@ -1402,6 +1402,7 @@
"MQTT Outbound": "MQTT Outbound",
"MQTT Client": "MQTT Client",
"Buffer Time from Event": "Buffer Time from Event",
"fieldTextEventFilters": "Enable to have all Events honor your Event Filter rules.",
"fieldTextBufferTimeFromEvent": "The amount of seconds to record before the trigger happened. If this is consistently inaccutrate you will need to look at the <a target='_blank' href='https://hub.shinobi.video/articles/view/DmWIID78VtvEfnf'>optimization guide</a> or force encoding on the server.",
"fieldTextMode": "This is the primary task of the monitor.",
"fieldTextModeDisabled": "Inactive monitor, no process will be created in this mode.",
@ -1570,7 +1571,7 @@
"fieldTextDetectorScaleY": "Height of the image being detected. Smaller sizes take less CPU.",
"fieldTextDetectorLockTimeout": "Lockout for when the next trigger is allowed, to avoid overloading the database and receiving clients. Measured in milliseconds.",
"fieldTextDetectorSave": "Save Motion Events in SQL. This will allow display of motion over video during the time motion events occured in the Power Viewer.",
"fieldTextDetectorRecordMethod": "There are multiple ways to begin recording when an event occurs, like motion. Traditional Recording is the most user-friendly.",
"fieldTextDetectorRecordMethod": "There are multiple ways to begin recording when an event occurs, like motion. Event-Based Recording is the most user-friendly.",
"fieldTextDetectorTrigger": "This will order the camera to record if it is set to \"Watch-Only\" when an Event is detected.",
"fieldTextDetectorTimeout": "The length of time \"Trigger Record\" will run for. This is read in minutes.",
"fieldTextWatchdogReset": "If there is an overlap in trigger record should it reset.",
@ -1639,7 +1640,7 @@
"fieldTextActionsHalt": "Make the event do nothing, as if it never happened.",
"fieldTextActionsIndifference": "Modify minimum indifference required for event.",
"fieldTextActionsCommand": "You may use this to trigger a script on command.",
"fieldTextActionsRecord": "Use Traditional Recording, Hotswap, or Delete Motionless with their currently set options in the Global Detection Settings section.",
"fieldTextActionsRecord": "Use Event-Based Recording, Hotswap, or Delete Motionless with their currently set options in the Global Detection Settings section.",
"fieldTextMapRtspTransportAuto": "Let FFMPEG decide. Normally it will try UDP first.",
"fieldTextMapRtspTransportTCP": "Set it to this if UDP starts giving undesired results.",
"fieldTextMapRtspTransportUDP": "FFMPEG tries this first.",

View File

@ -1149,10 +1149,6 @@ module.exports = function(s,config,lang,app,io){
}
r.mode=req.params.f;
try{r.details=JSON.parse(r.details);}catch(er){}
if(req.query.fps){
r.fps=parseFloat(r.details.detector_trigger_record_fps)
s.group[r.ke].activeMonitors[r.mid].currentState.detector_trigger_record_fps=r.fps
}
r.id=r.mid;
s.knexQuery({
action: "update",

View File

@ -134,7 +134,6 @@ function generateDefaultMonitorSettings(){
"detector_scale_y": "480",
"detector_record_method": "sip",
"detector_trigger": "1",
"detector_trigger_record_fps": "",
"detector_timeout": "0.5",
"detector_send_video_length": "",
"watchdog_reset": "1",

View File

@ -263,10 +263,13 @@ drawBlock = function(monitorSettings){
}
if(field['form-group-class-pre-pre-layer']){ %>
<div class="<%- field['form-group-class-pre-pre-layer'] %>">
<% }
<% };
if(field['form-group-class-pre-layer']){ %>
<div class="<%- field['form-group-class-pre-layer'] %>">
<% }
<% };
if(field['isAdvanced']){ %>
<div class="h_us_input h_us_advanced" style="display:none">
<% };
if(
fieldType === 'ul' ||
fieldType === 'div' ||
@ -305,13 +308,16 @@ drawBlock = function(monitorSettings){
<div><%- fieldElement %></div>
</div>
<% }
}
if(field['form-group-class-pre-layer']){ %>
</div>
<% }
if(field['form-group-class-pre-pre-layer']){ %>
</div>
<% }
if(field['isAdvanced']){ %>
</div>
<% };
if(field['form-group-class-pre-layer']){ %>
</div>
<% };
if(field['form-group-class-pre-pre-layer']){ %>
</div>
<% };
};
}
monitorSettings.info.forEach(drawInfoItem)
}