Commit Graph

176 Commits (b75f7aede92d2a4cb63ce848afe300bc283de3a1)

Author SHA1 Message Date
Moe 758fc700b1 Rewrite Settings and Montior Edit forms in JSON instead of HTML
- rewrite of forms in JSON allow auto-generating the necessary fields on almost any template with a lot more ease
- remove ejs files for uploaders and make fields generate by JSON as well
+ activate separated css files
2019-03-15 00:32:18 -07:00
Moe 2826c858ac move authenticateUser in dropInEvents.js 2019-03-09 10:34:07 -08:00
Moe 8928d777bb Fix flag for connected plugins 2019-03-07 21:27:40 -08:00
Moe f87dd59039 Feature Request #49 : Custom Endpoint with S3-Based Uploading++ 2019-03-07 16:04:14 -08:00
Moe 9664e98fa6 Feature Request #49 : Custom Endpoint with S3-Based Uploading+ 2019-03-07 15:57:01 -08:00
Moe 8fe57162af Feature Request #49 : Custom Endpoint with S3-Based Uploading
- Wasabi Hot Cloud Storage has been converted to being a dynamic S3-based upload controller.
2019-03-07 15:53:49 -08:00
Moe 4eb68ee900 Remove hardcoded "uploader" fields and place in dynamically loaded files 2019-03-07 15:26:56 -08:00
Moe 18e0923a7e Allow connecting multiple Detector Plugins+ 2019-03-05 18:18:52 -08:00
Moe 9c4b153ab4 Allow connecting multiple Detector Plugins
+ remove `frameToRam` method.
+ add extenders for onWebsocketConnect/Disconnect
2019-03-05 16:22:04 -08:00
Moe a901bd2e32 fix SQLite Power Video bug
- newly created events will only be fixed. Previous events will unfortunately remain broken. MariaDB/MySQL databases are unafftected.
2019-03-04 20:31:24 -08:00
Moe cdf2e6f8c8 remove `videoTime` logging for events, use basic search method of power video 2019-03-03 09:52:23 -08:00
Moe 9aabfea193 Update Stale Purge Lock function set
- when "No space left on device" is detected a check to see if you are over your account storage max will be done, if so then it will force an unlock and create a purge request.
2019-02-28 14:07:14 -08:00
Moe 9ff20b8442 Update dropInEvents.js
- close fs.watch and delete monitor's folder onMonitorStop to drop requests when monitor is disabled.
- shorten file trigger timeout from 3 seconds to 1.2
- SMTP events check if monitor is started upon receipt, drop request if not
2019-02-28 11:27:20 -08:00
Moe c4129e4202 disable eventBasedRecording creation if detector is off 2019-02-27 22:22:33 -08:00
Moe 38e67d933a Multi Trigger by Group
- In Global Detector Settings you can now find the option to trigger other cameras when a particular monitor has been triggered.
+ Remember monitor order in dashboard list
+ Allow sending frames to Plugin based detection with Primary Send Frames off.
+ minor clean up
2019-02-27 20:32:29 -08:00
Moe c2100d7790 Allow starting SMTP server without dropInEvent server 2019-02-27 20:17:49 -08:00
Moe 54883d46f7 Fix Backblaze B2 Auth Refresh+ 2019-02-26 18:44:28 -08:00
Moe a33a2798a8 Fix Backblaze B2 Auth Refresh 2019-02-26 18:41:05 -08:00
Moe 94e7a03b4b change cloudUploaders to uploaders
- split `uploaders.js` into multiple files. Each based on their service provided.
2019-02-26 18:35:45 -08:00
Moe 1be41d7f3b Add SMTP server to dropInEvents module 2019-02-26 18:34:04 -08:00
Moe 9a71cd9c95 Use cws(uws) for Socket.IO engine 2019-02-24 18:47:39 -08:00
Moe 490ac88b00 Update dropInEvents.js 2019-02-23 22:01:53 -08:00
Moe 27ac21bdbd Add FTP server to dropInEvents module 2019-02-23 09:50:03 -08:00
Moe 31eb99f551 Add dropInEvents module++ 2019-02-22 23:06:04 -08:00
Moe 97b341481e Add dropInEvents module+
+ better filename parse for file insert
+ add missing RTMP server addition in camera.js
2019-02-22 23:04:52 -08:00
Moe 55aedbabb9 Add dropInEvents module
- This allows you to drop a file into `/dev/shm/streams/dropInEvents/[GROUP KEY]/[MONITOR ID]` to trigger an event.
- This is useful for cameras that can do FTP upload on Motion detected with their internal detector.
- `dropInEventsDir` can be configured in conf.json
2019-02-22 22:59:06 -08:00
Moe e129afd756 fix `onMonitorSave` event
+prettify config cron error
2019-02-22 19:24:21 -08:00
Moe 127da9700d Merge branch 'patch-1' into 'dev'
Prevent corrupted recording when recording is interrupted.

See merge request Shinobi-Systems/Shinobi!47
2019-02-22 19:46:47 +00:00
Moe 3914ea30e4 Merge branch 'addEventDetailsToString' into 'dev'
Updated addEventDetailsToString to replace event detail tokens

See merge request Shinobi-Systems/Shinobi!53
2019-02-22 19:38:08 +00:00
Moe d8fd16c033 humanize and cleanup cloudUploader.js
+ add privateKey field for SSH file upload
2019-02-19 22:31:07 -08:00
Moe 6a3daccb2f Add Automatic SFTP Uploader
- SFTP Uploader is basic uploader. This method is not capable of managing space like other cloud back up methods.
+ Minor cleanup
2019-02-19 19:29:12 -08:00
Moe 1078960db2 CORS added to all web routes through `app.use` 2019-02-19 19:14:11 -08:00
Moe c706da1ca3 Added timed auth refresh for Backblaze B2 connections 2019-02-19 13:10:49 -08:00
Moe 83f08ccb4f chunk video list in `deleteListOfVideos` function
- this will avoid the `ER_LOCK_WAIT_TIMEOUT` error by breaking up the video list into sets of 100 then querying each set as a single query rather the entire video list as a single query.
2019-02-17 11:49:37 -08:00
Moe ac00f22ee8 corn key warning 2019-02-16 20:35:54 -08:00
Moe 89bbbf4330 Bug Fix for Detector flag building 2019-02-16 14:56:46 -08:00
Moe 322d50d912 Update ffmpeg.js 2019-02-16 12:40:20 -08:00
Jonathan Tran 962924de8a updated addEventDetailsToString to replace event detail tokens 2019-02-15 21:25:59 -08:00
Moe 3503ac1426 Add RTMP Server with Node-Media-Server
- Instead of including the npmjs module; the rtmp portion has been ripped from the main package.
- to enable the RTMP server with default settings just add `"rtmpServer":true` to your conf.json
- `rtmpServer` object in conf.json correlates to `rtmp` object in NodeMediaServer configuration.
- WARNING : currently no authentication for incoming RTMP streams.
2019-02-13 22:29:19 -08:00
Moe bdbf3458b6 Add Wasabi Hot Cloud Storage in cloudUploaders.js 2019-02-04 10:37:22 -08:00
Moe bf7a5d2d83 Add "onMonitorDied" extender 2019-01-31 10:51:35 -08:00
Moe 75269f7d9f Method to merge videos from Videos List
- button will appear as "Merge and Download" next to "Zip and Download"
2019-01-28 17:41:14 -08:00
Moe bbb6ef108a minor cleanup 2019-01-28 12:25:53 -08:00
Moe f9450a58dd Humanize configuring Notification Video Length
- Notification Video Length : The length of the video that gets sent to your Notification service, like Email or Discord.
- New option appears under Recording Timeout.
2019-01-28 12:25:43 -08:00
Moe 6f47b720b1 Merge branch 'dev' into 'dev'
command killing ffmpeg simplified

See merge request Shinobi-Systems/Shinobi!42
2019-01-27 23:01:02 +00:00
Moe e87f031df0 fix onDetectorNoTriggerTimeoutExtensions bug 2019-01-27 08:53:12 -08:00
Moe a60d9ecd73 update customAutoLoad
- allow addition static files, blocks, css, js, and language files without modifying the core
2019-01-26 20:43:31 -08:00
Moe 3bf2222c0a add missing module "onvif" in webServerPaths 2019-01-26 12:21:55 -08:00
Bret Palsson 3a09a11ac5 Prevent corrupted recording when recording is interrupted.
It's very annoying to get partial video because the process died or was shutdown uncleanly. This fixes the issue. Here is an explanation of the options set:

Normally, a MOV/MP4 file has all the metadata about all packets stored in one location (written at the end of the file. 

faststart: Will move the metadata to the beginning of the file after the recording is complete.

frag_keyframe: Starts a new fragment at each video keyframe. This allows a file to work, even if the metadata isn't written at the end or beginning of the file, since it encodes with each keyframe. (Tested with kill -9 on and start/stop recording where the end metata data wasn't written)

empty_moov: will cause output to be 100% fragmented; without this the first fragment will be muxed as a short movie (using moov) followed by the rest of the media in fragments.
2019-01-26 05:51:50 +00:00
Moe daeda7f970 minor cleanup 2019-01-23 22:15:29 -08:00