Add timelapse frame creation check
- runs 10 seconds after next expected frame creationaudio-only-out-and-refactor-monitor-settings
parent
d08b04af8a
commit
0b8facffeb
|
@ -760,9 +760,10 @@ module.exports = (s,config,lang) => {
|
|||
const videoFlags = []
|
||||
const inputMap = buildInputMap(e,e.details.input_map_choices.record_timelapse)
|
||||
const { videoWidth, videoHeight } = validateDimensions(e.details.record_timelapse_scale_x,e.details.record_timelapse_scale_y)
|
||||
const creationFps = (1 / (!isNaN(parseFloat(e.details.record_timelapse_fps)) ? parseFloat(e.details.record_timelapse_fps) : 900)).toFixed(3);
|
||||
if(videoWidth && videoHeight)videoFlags.push(`-s ${videoWidth}x${videoHeight}`)
|
||||
if(inputMap)videoFlags.push(inputMap)
|
||||
videoFilters.push(`fps=${(1 / (!isNaN(parseFloat(e.details.record_timelapse_fps)) ? parseFloat(e.details.record_timelapse_fps) : 900)).toFixed(3)}`)
|
||||
videoFilters.push(`fps=${creationFps}`)
|
||||
if(e.details.record_timelapse_vf)videoFilters.push(e.details.record_timelapse_vf)
|
||||
if(e.details.record_timelapse_watermark === "1" && e.details.record_timelapse_watermark_location){
|
||||
videoFilters.push(buildWatermarkFiltersFromConfiguration('record_timelapse_',e))
|
||||
|
|
|
@ -136,6 +136,8 @@ module.exports = (s,config,lang) => {
|
|||
delete(activeMonitor.recordingChecker);
|
||||
clearTimeout(activeMonitor.streamChecker);
|
||||
delete(activeMonitor.streamChecker);
|
||||
clearTimeout(activeMonitor.timelapseFramesChecker);
|
||||
delete(activeMonitor.timelapseFramesChecker);
|
||||
clearTimeout(activeMonitor.checkSnap);
|
||||
delete(activeMonitor.checkSnap);
|
||||
clearTimeout(activeMonitor.watchdog_stop);
|
||||
|
@ -956,6 +958,27 @@ module.exports = (s,config,lang) => {
|
|||
}
|
||||
},60000*1);
|
||||
}
|
||||
function resetTimelapseFramesCheck(e){
|
||||
const groupKey = e.ke
|
||||
const monitorId = e.mid || e.id
|
||||
const activeMonitor = getActiveMonitor(groupKey,monitorId)
|
||||
const monitorConfig = s.group[groupKey].rawMonitorConfigurations[monitorId]
|
||||
const creationInterval = parseFloat(monitorConfig.details.record_timelapse_fps) || 900;
|
||||
clearTimeout(activeMonitor.timelapseFramesChecker)
|
||||
activeMonitor.timelapseFramesChecker = setTimeout(function(){
|
||||
if(activeMonitor && activeMonitor.isStarted === true){
|
||||
forceMonitorRestart({
|
||||
ke: groupKey,
|
||||
mid: monitorId,
|
||||
},{
|
||||
type: lang['Camera is not recording'],
|
||||
msg: {
|
||||
msg: lang['Restarting Process']
|
||||
}
|
||||
})
|
||||
}
|
||||
}, (1000 * creationInterval) + 10000);
|
||||
}
|
||||
function onDetectorJpegOutputAlone(e,d){
|
||||
if(s.isAtleatOneDetectorPluginConnected){
|
||||
const groupKey = e.ke
|
||||
|
@ -1109,6 +1132,7 @@ module.exports = (s,config,lang) => {
|
|||
fileStream.on('close', function () {
|
||||
activeMonitor.recordTimelapseWriter = null
|
||||
s.createTimelapseFrameAndInsert(e,location,filename)
|
||||
resetTimelapseFramesCheck(e)
|
||||
})
|
||||
activeMonitor.recordTimelapseWriter = fileStream
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue