Commit Graph

643 Commits (20633e2da4c3f50c62e4b9050a1fe05c08f32173)

Author SHA1 Message Date
Moe aebd01cefd sqlQuery Conversion : minor update to socketio.js 2020-07-10 17:30:31 -07:00
Moe 7f42e3efd0 sqlQuery Conversion : timelapse.js (also refactored backend slightly) 2020-07-10 17:30:08 -07:00
Moe 6dfdfe2aa0 sqlQuery Conversion : Add grouped where conditions 2020-07-09 22:48:54 -07:00
Moe 21ea4d804f sqlQuery Conversion : basic, events, notifications, scheduler, socketio 2020-07-09 22:48:34 -07:00
Moe 0f73187cb3 sqlQuery Conversion : add limit and orderBy 2020-07-09 07:58:02 -07:00
Moe 477d756bef sqlQuery Conversion : make asCallback inside knexQuery 2020-07-09 07:57:54 -07:00
Moe 5db94d1e98 sqlQuery Conversion : auth.js 2020-07-08 23:11:43 -07:00
Moe b99e258f8f sqlQuery Conversion : monitor.js 2020-07-08 22:52:49 -07:00
Moe e1cc2d3fec sqlQuery Conversion : rename response to dbQuery 2020-07-08 22:51:45 -07:00
Moe b7db2ecfe9 sqlQuery Conversion : add update, insert, delete to s.knexQuery
+ change option tableName to table
2020-07-08 22:38:32 -07:00
Moe b02311386b sqlQuery Conversion : startup.js 2020-07-08 21:34:12 -07:00
Moe ce7b86d3a1 sqlQuery Conversion : create knexQuery, can only select for now 2020-07-08 21:34:06 -07:00
Ian Rubado 6b7a17e4ce Allow detector filters to send emails without a monitor global detector setting of sending email being sent. 2020-07-04 15:31:05 -04:00
Moe f178d2121c Revert Detector Filter changes (will branch to identify why it drops motion) 2020-07-04 10:04:58 -07:00
Moe fb7972223b fix not-iterable error in events 2020-07-04 08:56:17 -07:00
Moe 05594374d4 Fix ER_DUP_KEYNAME logs 2020-07-03 13:21:04 -07:00
dennis.cartier 58c5796d4b Switch logging to user log from system 2020-06-27 14:40:43 -04:00
dennis.cartier 5ddfbcb5d3 Add support for testing count of matched objects 2020-06-26 05:43:36 -04:00
dennis.cartier 212cecdc9c Fix too early of insertion of detector_motion_count before all returns have been considered 2020-06-24 16:50:53 -04:00
Moe 98bc29e8eb Merge branch 'dev-region-testing' into 'dev'
Add support for Region Name testing into detection filters

See merge request Shinobi-Systems/Shinobi!203
2020-06-24 18:26:43 +00:00
dennis.cartier 923312da38 Make the Global Drop be the default beahviour 2020-06-19 14:00:25 -04:00
Moe e81736ffd5 Merge branch 'SQL_Updates' into 'dev'
Add indexes to database tables

See merge request Shinobi-Systems/Shinobi!206
2020-06-19 16:44:34 +00:00
Moe ded730197c Fix Event Counts table (missing time column) 2020-06-18 20:22:44 -07:00
Mike Hurley 07d5d360d8 Update sql.js 2020-06-18 18:42:20 +00:00
Mike Hurley 76a4ef41fd Update sql.js 2020-06-18 16:44:13 +00:00
Mike Hurley 0e69072a80 Update sql.js 2020-06-18 16:33:47 +00:00
Mike Hurley 486c724c74 Update sql.js 2020-06-18 16:17:13 +00:00
Mike Hurley afe32e6f1b fixed mismatched cases 2020-06-18 16:12:46 +00:00
Mike Hurley 80db711d4a Updated to include Indexes for Events, Logs, and Videos tables 2020-06-18 15:23:58 +00:00
Moe b50d0a6bcc Update ONVIF version and light cleanup 2020-06-18 00:51:25 -07:00
Moe f07fe1968f JPEG Input Type capture from Camera Thread (Fix JPEG Input Stream) 2020-06-18 00:51:06 -07:00
dennis.cartier 91f5ff6b76 Add support to only test matrices that passed filters for the Region Test flag 2020-06-17 08:23:46 -04:00
dennis.cartier c7759063f3 Fix non-filtered matrices from being written into Events table 2020-06-16 07:45:35 -04:00
Moe f044b6bcf8 Fix missing npm module 2020-06-15 15:18:22 -07:00
Moe f5ac026520 Google Drive Upload creates appropriate folder for video 2020-06-15 08:33:57 -07:00
Moe 5547ff0b25 Allow watching uploaded videos from Google Drive in Dashboard 2020-06-15 07:53:08 -07:00
Moe 2c320635dc baisc Google Drive support for Auto Backup
- Cannot view videos or timelapse frames in the Shinobi Dashboard, must view them in Google Drive File Explorer
2020-06-15 00:54:52 -07:00
dennis.cartier 57c51f17c8 Remove a conditional that no longer applies 2020-06-14 06:58:20 -04:00
dennis.cartier e86d3e03df Change the result passing for the matrix region collisions and add test to short circuit hopeless calls 2020-06-14 06:58:20 -04:00
dennis.cartier 0621ef9b35 re-write of legacy object matching to remove missed corner cases 2020-06-14 06:58:20 -04:00
dennis.cartier e732db8656 Add support for Region Nmes testing 2020-06-14 06:54:49 -04:00
Moe 773351313f Allow PTZ Tracking any Object Tag 2020-06-13 22:17:54 -07:00
Moe df720fcab2 remove PTZ Tracking debug comments 2020-06-13 11:56:54 -07:00
Moe 57a876e28d minor cleanup for PTZ handling 2020-06-13 11:46:20 -07:00
Moe fc082daf8c ptz command display direction in log row 2020-06-13 11:35:09 -07:00
Moe 866cb8d538 Refactor PTZ Control code+++ 2020-06-13 11:30:04 -07:00
Moe c004275fa8 put logger inside s.cameraControl callback 2020-06-13 11:27:46 -07:00
Moe beccde6fdc Refactor PTZ Control code++ 2020-06-13 11:27:03 -07:00
Moe ab8971ad28 Refactor PTZ Control code+ 2020-06-13 11:04:38 -07:00
Moe bbc1dc533f Refactor PTZ Control code, move ptz and onvif code to separate libs 2020-06-13 00:28:50 -07:00
Moe ba32e44e2c Merge branch 'dev-confidence-testing' into 'dev'
Add confidence testing into switch statement

See merge request Shinobi-Systems/Shinobi!202
2020-06-10 20:57:25 +00:00
dennis.cartier 20e4a89e04 Add support to test confidence property in object detection 2020-06-08 05:40:51 -04:00
Moe 3781ea5f35 PTZ Tracking : Auto-Up require object height larger than 80% of img height 2020-06-07 23:44:45 -07:00
Moe 47aa4fd55b PTZ Tracking : Fix Auto-Up 2020-06-07 23:08:04 -07:00
Moe 3d3ca32bc3 PTZ Tracking : if person too low on screen then lower tilt 2020-06-07 22:52:26 -07:00
Moe 2566d52b3e PTZ Tracking : Now does both X and Y axis following on larget person object found
- if person object Y value is less than 30 then camera will automatically move upward. In future this will be configurable.
2020-06-07 22:45:55 -07:00
Moe b93abc1589 Basic PTZ Follow : detecting position on X axis works, y axis does not 😭 2020-06-07 11:48:39 -07:00
Moe 2c7fd09c94 Basic PTZ Follow now only follows largest "person" object found
- will think of better name later
2020-06-07 10:32:44 -07:00
Moe df1cf56d62 Basic PTZ Follow upon Object Detection 2020-06-06 23:50:43 -07:00
Moe 600a7f5641 Better ONVIF Scanner, now displays all found network devices
- Will now display ONVIF devices if auth fails
- will now display all network devices with operating web panels
2020-06-06 20:45:08 -07:00
Moe f1f22a49f1 return devices that are possible IP cameras even if failed ONVIF capture 2020-06-06 19:07:59 -07:00
Moe a0f07406cc Move Probe and ONVIF functions to separate lib (scanners.js) 2020-06-06 18:55:01 -07:00
Moe 34d9b49f6b Refactor Probe tool (backend), cleanup Probe tool (front) 2020-06-06 15:29:57 -07:00
Moe 5bf8a04d53 Probe result can populate Monitor Settings window 2020-06-06 13:47:27 -07:00
Moe f8a0160356 fix Probe JSON output 2020-06-06 13:13:04 -07:00
Moe 615f66bb1b better port validation on monitor start 2020-06-05 15:25:02 -07:00
Moe cd9b2bd857 Update events.js 2020-06-05 08:33:01 -07:00
Moe aa7c6f387a update syntax for Event Counts table creation 2020-06-04 13:06:13 -07:00
Moe c8e054ce25 validate port chosen on monitor start 2020-06-04 12:59:46 -07:00
Moe 41d25a58ab fix missing cloud timelapse frames table insertion 2020-06-04 12:59:25 -07:00
Moe eb5aa7909e add option to enable logging for smtp-server 2020-06-01 22:17:36 -07:00
Moe 059faab18d Fix IP-based authorization for API keys 2020-05-30 22:36:19 -07:00
Moe 5436dab375 Fix "Object in Region" detection (by UnlikelyLocation9 in the Community chat) 2020-05-28 12:10:27 -07:00
Moe 683218d988 minor touch up 2020-05-27 17:48:30 -07:00
Moe c2a9633cc1 Refactor Schedules js, add Scheduler launcher in Preset section 2020-05-27 17:46:37 -07:00
Moe e2ea8c03fe Allow creating Presets from inside Monitor Settings window 2020-05-25 20:49:12 -07:00
Moe 479efbf228 adjust counting methodology for tracking plugins
- tracking plugins are currently not available to public but you may still use the counting feature on a per-frame basis instead of tracked object
2020-05-24 22:10:31 -07:00
Moe 48e6483550 fix line 405 bug 2020-05-24 21:00:19 -07:00
Moe 7c60fd16de Update webServerPaths.js 2020-05-24 13:55:48 -07:00
Moe 93fdabb232 refactor /logs/ rows API method 2020-05-24 09:36:52 -07:00
Moe 7cd55de801 Hide username and password in ffmpeg log outputs+ 2020-05-24 09:01:58 -07:00
Moe 1269bfe08a refactor /events/ rows API method 2020-05-24 08:44:44 -07:00
Moe aa390287f0 fix query by time 2020-05-24 07:46:00 -07:00
Moe a5b04de5de refactor /videos/ row request API 2020-05-24 07:41:10 -07:00
Moe 8526eea89a refactor querying tables for rows binded to monitors with start and end times
- prepare function for other API functions that use this methodology
2020-05-23 23:08:54 -07:00
Moe 0379fa70a7 Update sql.js 2020-05-23 22:33:57 -07:00
Moe d79a59f401 refactor Events Counts get rows API method 2020-05-23 22:33:55 -07:00
Moe 664a30ee32 add Event Counting engine 0.1 2020-05-23 22:12:42 -07:00
Moe f35136b46c Hide username and password in ffmpeg log outputs 2020-05-23 16:19:34 -07:00
Moe e6b309b7c8 Add API request to upload all available monitor configs 2020-05-20 10:44:56 -07:00
Moe 16f243000c Add API method to get configurations
- by default gets user uploaded configurations
2020-05-20 08:59:50 -07:00
Moe 4ce3494113 Update shinobiHub.js 2020-05-20 08:31:01 -07:00
Moe 3f0efd3c5c Add option for automatic private backup of monitors to ShinobiHub
- This feature is for Subscribers only.
2020-05-19 16:56:21 -07:00
Ian Rubado b724724cfb Changed per Moe's reccomendation. 2020-05-15 21:28:27 -04:00
Ian Rubado cbd145ff73 Fix whitespace vs tab. 2020-05-15 18:41:15 -04:00
Ian Rubado d0b3b6eedd Resolving a zombie ffmpeg process on linux under certain conditions. 2020-05-15 18:34:12 -04:00
Moe 5e51c6694c fix stray fps 2020-05-13 22:43:18 -07:00
Moe 0c3e611a39 fix mapping in detactor output 2020-05-13 20:14:06 -07:00
Moe 82182fe8bf Fix "undefined" dropInEvents folder 2020-05-13 18:07:54 -07:00
Moe 447cce9b6f Adjustment to Snapshot command 2020-05-13 17:39:00 -07:00
Moe 91bd1f3b5e Fix High CPU Usage with JPEG API and Timelapse 2020-05-13 17:38:56 -07:00
Moe f5c3467ea7 properly expose some object detection options 2020-05-13 15:32:53 -07:00
Moe b0c3f38049 fix large image object detection 2020-05-13 15:10:08 -07:00
Moe a993130f4b Fix "Send Frames" for Object Detector 2020-05-13 14:30:50 -07:00
Moe 6192c27fd2 Complete Plugin Cluster Method, first revision
- Plugin cluster chooses which plugin to send to based on how many frames are in the plugin's queue.
2020-05-11 18:51:05 -07:00
Moe 0fc140d3be fix monitor process hang if ordered to do obj detection with no plugin 2020-05-11 15:57:40 -07:00
Moe 9c566644a1 Convert to Packagable Syntax 2020-05-09 17:27:44 -07:00
Moe 301bb4ebca minor formatting 2020-05-09 16:16:22 -07:00
Moe beb621de5b basic plugin cluster handling 2020-05-07 23:01:16 -07:00
Moe 14037040b8 disable automatcally deleteing current after 10 idle seconds
- future update will incorporate logging this count on interval
2020-05-07 08:41:17 -07:00
Moe 66e71e3269 display expiration date for limited time subscriptions (PayPal) 2020-05-07 08:40:19 -07:00
Moe d72b61f592 Add Basic Object Counting mechanism 2020-05-05 08:02:23 -07:00
Moe 5dbeb8c5e5 Add Wallclock Timestamp toggle in Monitor Settings 2020-05-02 13:25:38 -07:00
Moe 39090fb9b4 dont allow sub user to modify addStorage 2020-04-19 07:57:39 -07:00
Moe 1502d0a200 Allow disabling Wallclock Timestamps with conf.json parameter
- add `"wallClockTimestampAsDefault":false` to disable it.
2020-04-19 07:56:56 -07:00
Moe 39b8337b1c fix concatted detector event response 2020-04-10 08:59:48 -07:00
Moe 1a8fa925de Merge branch 'filter_streamtype_for_tv_channels' into 'dev'
Filter streamtype for tv channels

See merge request Shinobi-Systems/Shinobi!178
2020-04-06 20:41:30 +00:00
Ian Rubado 00a883f127 Simplified even more. 2020-04-06 16:33:38 -04:00
Ian Rubado 2a22db2e55 Fix whitespace. 2020-04-06 16:16:19 -04:00
Ian Rubado 8b95989f97 No need to check req.query.streamtype contents, only need to know it exists and filter accordingly. 2020-04-06 16:14:23 -04:00
Moe 453604bec0 Merge branch 'event_monitor_name' into 'dev'
provide human-readable display name to custom event commands for automation

See merge request Shinobi-Systems/Shinobi!172
2020-04-06 16:57:51 +00:00
Moe 174448f9b4 manually add #173
the original MR was done the incorrect branch.
2020-04-06 09:55:32 -07:00
Moe 2260abbda4 clear two factor token on login 2020-04-05 20:31:01 -07:00
Ian Rubado e0284ede1e Fix whitespace 2020-04-05 23:28:00 -04:00
Ian Rubado f90329d015 Filter by streamtype for tv channel listing. 2020-04-05 23:26:03 -04:00
Moe 5308449979 send only essential data on 2FactorAuth 2020-04-05 19:51:12 -07:00
Moe 184bc2fa69 Add tree-kill fix for snap zombies
- fix found by dieseldude in the community chat
2020-04-05 19:09:24 -04:00
Moe 885ec82390 add "events" to Traditional Recording insertCompletedVideo request
- this will allow these kinds of recordings to provide a notification to the Mobile App upon completion
2020-04-05 19:09:24 -04:00
Moe 9cd9446800 move segment file creation to separate pipe 2020-04-05 16:00:32 -07:00
Moe 45d256cbae fs.unlink as preliminary deletion function 2020-04-04 20:41:39 -07:00
Moe a49eeece88 change max required frame for timelapse video creation 2020-04-04 17:59:03 -07:00
Moe 51f07ac535 before starting a monitor check that it's admin user exists 2020-04-04 17:58:00 -07:00
Moe 21b2de65fd fix missing detector_motion_count array 2020-03-29 10:47:21 -07:00
Moe ec1041c389 Add tree-kill fix for snap zombies
- fix found by dieseldude in the community chat
2020-03-28 16:26:01 -07:00
Moe eacb68b978 pass on nulled response from startup check 2020-03-08 22:34:36 -07:00
Moe 00c400ed3b add extension for when websocket data is sent 2020-03-07 12:03:33 -08:00
Moe 443b5565fe add "events" to Traditional Recording insertCompletedVideo request
- this will allow these kinds of recordings to provide a notification to the Mobile App upon completion
2020-03-05 11:12:54 -08:00
Kyle Harding 294c6f7e29
provide human-readable display name to custom event commands for automation 2020-03-05 11:09:24 -05:00
Moe 6bd18faf1d replace motion counter with holding list of events in memory
+ allow adding "events" to s.insertCompletedVideo
2020-03-03 07:14:32 -08:00
Moe c72f2fe167 Add error.stack check to backblaze error handler 2020-02-25 09:01:38 -08:00
Moe 6282860b64 add windows taskkill in snapshot.js 2020-02-24 20:34:09 -08:00
Moe 3684ff2cb2 add windows taskkill in singleCamera.js 2020-02-24 20:25:20 -08:00
Moe ed4eab625a add some windows specific kill and delete commands
+ add Shinobi Mobile mention
2020-02-23 10:09:54 -08:00
Moe 651421200e FTP Server no longer use fs.watch - make use ftp upload event
+ update ftp-srv
2020-02-18 20:54:48 -08:00
Moe b281a34476 fix lingering "singleCamera.js" bug 2020-02-13 12:29:45 -08:00
Moe 1971955034 Merge branch 'events.js' into 'dev'
add '{{REASON}}' substitution string for webhook

See merge request Shinobi-Systems/Shinobi!145
2020-02-07 20:04:33 +00:00
Moe 475365f090 Merge branch 'patch-12' into 'dev'
Use cleaner math for calculating OpenBSD RAM usage

See merge request Shinobi-Systems/Shinobi!160
2020-02-07 20:01:15 +00:00
JordanGeoghegan f5f89e6d74 Fix longstanding issue with incorrect file size calculation 2020-01-31 18:30:24 -08:00
Moe 2f44953188 Fix zombie process created by cameraThread/snapshot.js 2020-01-26 23:14:44 -08:00
Jordan Geoghegan 093b0a70f7 Use cleaner math for calculating OpenBSD RAM usage 2020-01-26 02:56:01 +00:00