diff --git a/libs/monitor/utils.js b/libs/monitor/utils.js index 0b05727c..96c33ac4 100644 --- a/libs/monitor/utils.js +++ b/libs/monitor/utils.js @@ -95,6 +95,19 @@ module.exports = (s,config,lang) => { resolve(null); return } + const completeRequest = () => { + fs.readFile(temporaryImageFile,(err,imageBuffer) => { + fs.unlink(temporaryImageFile,(err) => { + if(err){ + s.debugLog(err) + } + }) + if(err){ + s.debugLog(err) + } + resolve(imageBuffer) + }) + } const temporaryImageFile = streamDir + s.gid(5) + '.jpg' const ffmpegCmd = s.splitForFFPMEG(`-loglevel warning -re -probesize 100000 -analyzeduration 100000 ${inputOptions.join(' ')} -i "${url}" ${outputOptions.join(' ')} -f image2 -an -vf "fps=1" -vframes 1 "${temporaryImageFile}"`) const snapProcess = spawn('ffmpeg',ffmpegCmd,{detached: true}) @@ -103,17 +116,7 @@ module.exports = (s,config,lang) => { }) snapProcess.on('close',async function(data){ clearTimeout(snapProcessTimeout) - fs.readFile(temporaryImageFile,(err,imageBuffer) => { - try{ - s.file('delete',temporaryImageFile) - }catch(err){ - - } - if(err){ - s.debugLog(err) - } - resolve(imageBuffer) - }) + completeRequest() }) var snapProcessTimeout = setTimeout(function(){ var pid = snapProcess.pid @@ -128,17 +131,7 @@ module.exports = (s,config,lang) => { }else{ snapProcess.kill() } - fs.readFile(temporaryImageFile,(err,imageBuffer) => { - try{ - s.file('delete',temporaryImageFile) - }catch(err){ - - } - if(err){ - s.debugLog(err) - } - resolve(imageBuffer) - }) + completeRequest() },10000) },30000) }) diff --git a/libs/scanners.js b/libs/scanners.js index 1c19316a..18cd440a 100644 --- a/libs/scanners.js +++ b/libs/scanners.js @@ -118,14 +118,21 @@ module.exports = function(s,config,lang,app,io){ uri: stream.data.GetStreamUriResponse.MediaUri.Uri } responseList.push(cameraResponse) - const imageSnap = (await createSnapshot({ - output: ['-s 400x400'], - url: addCredentialsToStreamLink({ - username: onvifUsername, - password: onvifPassword, - url: stream.data.GetStreamUriResponse.MediaUri.Uri - }), - })).toString('base64'); + var imageSnap + if(cameraResponse.uri){ + try{ + imageSnap = (await createSnapshot({ + output: ['-s 400x400'], + url: addCredentialsToStreamLink({ + username: onvifUsername, + password: onvifPassword, + url: cameraResponse.uri + }), + })).toString('base64'); + }catch(err){ + // s.debugLog(err) + } + } if(foundCameraCallback)foundCameraCallback(Object.assign(cameraResponse,{f: 'onvif', snapShot: imageSnap})) }catch(err){ const searchError = (find) => { @@ -156,7 +163,7 @@ module.exports = function(s,config,lang,app,io){ port: camera.port, error: errorMessage }); - s.debugLog(err) + // s.debugLog(err) } }) return responseList diff --git a/web/pages/blocks/superSystemTab.ejs b/web/pages/blocks/superSystemTab.ejs index 8f89ed9e..1542a5ea 100644 --- a/web/pages/blocks/superSystemTab.ejs +++ b/web/pages/blocks/superSystemTab.ejs @@ -5,9 +5,11 @@ <%- lang['Restart Core'] %> - - <%- lang['Update'] %> - + <% if(!config.thisIsDocker){ %> + + <%- lang['Update'] %> + + <% } %> <%- lang['Restart CRON'] %>