UNPKG

@scrypted/nvr

Version:

NVR plugin for Scrypted.

3,617 lines (1,941 loc) • 52.1 kB
<details> <summary>Changelog</summary> ### 0.11.60 fix wyze reusing rtp payload types ### 0.11.58 fix adaptive bitrate not using client size beta ### 0.11.57 update libav fix keyframe request logging ambiguity only sleep on marker packets wip mpegts fix rtcp filtering in transcode fix adaptive bitrate source id fix transcode fixup malformed sdp from adaptive codecs update libav remove debug logging ### 0.11.56 debounce snooze logging publish h265 aggregation packet check fix ### 0.11.55 0.11.55 fix mangling of rtcp packets during adaptive codec selection ### 0.11.54 fixup accidental deletion ### 0.11.53 Revert "wip audio transcode scrub rewrite" wip audio transcode scrub rewrite beta ### 0.11.52 disable adaptive audio fixes for h265 seeking ### 0.11.51 beta ### 0.11.50 make file rotation check for free disk space cap recordings prune to finish within 10 minutes improve sending codec information only after a marker packet ### 0.11.49 rebuild with additional h265 repacketization from webrtc ### 0.11.48 rebuild with h265 repacketization from webrtc ### 0.11.47 remove h264frame endpoint beta ### 0.11.46 use single decoder with prebuffer skip ### 0.11.43 remove ffmpeg binary ### 0.11.42 fix video transcode when audio transcode is missing/misadertised ### 0.11.41 fix h265 mp4 export when vps is missing ### 0.11.40 fix mtu release 0.11.40 ### 0.11.39 revert rtpTimingAdjust catchup cleanup fix playback pacing reset bug fix smooth scrub getting stuck ### 0.11.38 fix user selector ### 0.11.37 beta ### 0.11.34 support vaapi detect on amd if explicitly set fix up ffmpeg based software transcode ### 0.11.32 allow vaapi for amd transcode ### 0.11.31 fixup ffmpeg vs libav forking ### 0.11.30 fixup opts update libav with channel layout fix ### 0.11.29 fix rtpmap edgecase ### 0.11.28 teardown race condition fixes ### 0.11.27 beta ### 0.11.26 add all the low latency flags beta ### 0.11.25 hack fix for potentials for hang during scrub fixup pcm_mulaw falsy check beta ### 0.11.24 fixup discontinuity calc, working dynamic codec switching transcode should disable adaptive refactor sdp negotiation fixup fastforward resume failure, remove logging wip recordings codec negotition codec negotiation bugfixes wip adaptive bitrate cleanup implement mid stream codec switch wip multicodec remove debug code fixup codec copy going to cluster worker offload audio transcode to compute support no hwaccel wip multicodec restructure refactor codec picking handle aac transcode for hksv fix video transcode + audio codec copy fixup pcm transocidng support audio transcoding fixup busted audio negotiation wip: prep audio transcode wip: transcode audio as necessary in adaptive streaming catch push errors add more opts fix cuda keyframe generation, publish ### 0.11.22 wire up transcode watchdog ### 0.11.21 fixup decoder console beta ### 0.11.20 recording playback transcode improvements allow h264->h265, disallow keyframe srcub transcode update libav with async open noncluster mode fixes for reolink libav transcoding ### 0.11.13 fix granscoding TO h265 fix adaptive bitrate handling of h264/mp4 when codec is unavailable ### 0.11.12 remove amd from safe hardware transcode list ### 0.11.9 fixup h265 keyframe hunting ### 0.11.8 remove weird blurb about e2e encryption on ha fix mangled pts timestamps breaking alexa ### 0.11.7 beta ### 0.11.6 add keyframe button to adaptive test tool fixup vbr transcode implement on demand idr on packet loss ### 0.11.5 initial plumbing for keyframe signaling apply fps filter to fix encoder input Merge branch 'main' of github.com:koush/scrypted-nvr fixup usage of test values on idr and bitrate fixup frame queue destructor nre publish beta of new low latency transcoder ### 0.11.4 implement decoder shortcut proper libav teardown cleanup zero latency transcode! wip new transcoder periodic prefs cleanup decrease idr to 4 but this might suck ### 0.11.3 allow allow adaptive bitrate to intercept non-adaptive transcodes like hksv ### 0.11.2 support transcoding TO h265 ### 0.11.1 beta ### 0.10.187 support adaptive bitrate for full h265 main/substreams wip cleanup wip h265 adaptive bitrate fix adaptive bitrate transcode prevent smooth scrub from h265 to h264 playback internal beta ### 0.10.186 fix h265 negotiation to h264 stream downgrade implement h265 smooth scrub more fixes for h265 seeking improve h265 seek adaptive bitrate should probe stream to determine whether h264 is returned when h265 is requested more detection startup logging update package-lock send camera provided detections immediately ### 0.10.185 settings icons fix snooze on ios when using encrypted notifications recover from face and text recognition failures ### 0.10.184 missing file fix date bugs ### 0.10.183 fix date bugs ### 0.10.182 publish notification schedules ### 0.10.180 critical alerts in ui critical alerts beta ### 0.10.178 publish beta plugin ### 0.10.177 fixup encryption logger dont dump encrypted payload fix notifications for known people ios encrypted notifications log when encryption is used Merge branch 'main' of github.com:koush/scrypted-nvr plugin/web support for e2e encrypted notifications improve retrieve license button behavior ranker should avoid clipped detections prefer unclipped detections for notifications improve clipped retention behavior ### 0.10.176 fix settings load failure on linked devices hide drives in autoconfigure mode fix reversed clip logic expose whether detection is clipped reenable cost in debug mode remove cost from tracker ### 0.10.175 fixup video clip creation with entry sensor and doorbell remove legacy decoder ### 0.10.173 readd excessive motion for vehicles Merge branch 'main' of github.com:koush/scrypted-nvr improve storage setup ux increase vehicle move threshold fix vehicle history check fix bug detection crop when near camera ### 0.10.172 beta ### 0.10.171 fixup stationary car logic cars must be fully captured, bounding box history checked use historical bounding boxes for stationary car improve detection box selection remove legacy decoder beta ### 0.10.170 use 3 frame consecutive minimum rain/hallucinate filter ### 0.10.169 use new deviceFilter ergonomics fix linked devices selector, publish ### 0.10.168 dont install server default plugins in cluster mode garage and blinds control ### 0.10.165 Merge branch 'main' of github.com:koush/scrypted-nvr publishh ### 0.10.164 ui controls support add cuda detection on windows do not repacketize audio fixup linked devices ### 0.10.163 Merge branch 'main' of github.com:koush/scrypted-nvr ### 0.10.162 darwin rtp packet seems to be limited to signed int16. handle broken jpeg save during notifications linked devices per user Revert "add lights/switches to nearby devices" add lights/switches to nearby devices motion note ### 0.10.161 Merge branch 'main' of github.com:koush/scrypted-nvr fix analyze mode ### 0.10.159 relax rtcp logging move face worker into promise fix plate detect, fix recognition pre non-max suppression ### 0.10.158 fix detections while in privacy mode skip lpr if vehicle is stationary remove old dep fix zone math ### 0.10.157 fix concave zones ### 0.10.156 use qsv on windows + intel ### 0.10.155 text only notifications disabled by default ### 0.10.154 support two stage notifications generate collapse ids remove warnings ### 0.10.153 implement nack retry on recording packet loss ### 0.10.146 fixup nack logger ### 0.10.145 save buffers nack logger instead implement nack retries ### 0.10.144 fix spurious decoder reinstall ### 0.10.138 beta ### 0.10.137 send regular i frame when not using adaptive remove legacy sdp filename location ensure cluster worker handles video transcodes ### 0.10.136 leverage localhost packetSize for less noisy transcode parsing ### 0.10.135 fix playback rate when transcoding ### 0.10.134 transcode recordings on cluster client too ### 0.10.133 fix ffmpeg path in heterogenous cluster ### 0.10.132 fix ffmpeg leak on transcode ### 0.10.131 pkill fix ### 0.10.130 adaptive bitrate transcode on compute worker ### 0.10.128 delay load libav update deps, remove wasm fork ### 0.10.122 zone fixes ### 0.10.121 fix issue with person up against doorbell not triggering detection publish zone fix ### 0.10.119 further class list normalization further class list normalization further class list normalization dnormalize legacy detection classes fix notification zone class mapping ### 0.10.117 zone filtering bug fixes and perf use object detection zones to inform timeline events ### 0.10.116 notification zone ui ### 0.10.114 zone filters need to use notification classes. fix zone settings retrieval notifier zoning to respect custom words working notification zones ### 0.10.113 camera id hint wip: notification zones zone setting description wip: notification zones fix angry error messages during teardown reolink probe fixes ### 0.10.111 ignore ipv6 discovered devices ### 0.10.110 fix reolink probing? ### 0.10.109 wip window player ### 0.10.108 remove reliance on detection plugin settings ### 0.10.107 fix package detection enabling erroneously ### 0.10.106 fix vue router not navigating when forced live ### 0.10.105 fix timestmaps causing notification click weirdness ### 0.10.104 cluster mode storage warning ### 0.10.102 fix package mask uint32array length ### 0.10.100 fix package detection bounds failure ### 0.10.99 enable preferred compute nodes ### 0.10.98 wip rollup fix build break disposable holder fixup resource management remove platform/arch shims comments cluster affinity for motion detection fix generator return cleanup crash ### 0.10.97 fix detection on non-cluster mode ### 0.10.96 use label hints for heterogenous clusters ### 0.10.94 beta ### 0.10.93 fixup cluster label request support hybrid clusters ### 0.10.92 set detection affinity to decoder cluster worker beta ### 0.10.91 fixup amd vaapi detection avoidance fix invalid codec context usage only check cuda if env is set ### 0.10.89 qsv encode fix? ### 0.10.87 join decoder thread clean up resource management ### 0.10.86 add source id to motion detection use onnx automatically if onnx env vars are detected beta ### 0.10.85 fix cluster device failure breaking face rec relax timing resync on mild synchronization issues fix cluster terminate/kill beta ### 0.10.84 qsv and vulkan (stub) transcode beta plugin ### 0.10.83 electron cluster support beta ### 0.10.82 face detection label affinity motion detection label affinity allow coreml if running in cluster mode fixup cluster decoder cluster aware decoder ### 0.10.81 windows temp transcode fix actually fix video deletion fix unhandled rejection on buffer image sketchy beta ### 0.10.80 vulkan decode on windows fix event deletion bug make vulkan last preference add vulkan to the default linux decoders, disable vaapi on amd working vulkan decoder commnets fix opencl nvidia and amd fix opencl reference frame retrieval and implement periodic update ffmpeg -noautoscale doc ### 0.10.79 adaptive bitrate vaapi fixes ### 0.10.78 stub vulkan support, ffmpeg format availability ensure tracker has timestamp fix tracker predictBox bug add ffmpegFormats flag use const fix recognizer bounding box ### 0.10.77 only save event snapshots to event stream add RecordingDestination type ### 0.10.76 Custom ffmpeg for Intel add recorded event to doorbell add recorded event to motion sensors add recorded event to nearby sensors fix scale_vt not handling aspect ratio preservation ### 0.10.75 ensure event recording is properly killed more generator startup leak fixes fix image close failure and unstarted generator leak ### 0.10.71 thread tracker prune catch beta ### 0.10.70 thread tracker ### 0.10.69 beta ### 0.10.68 actually disable opencl good lord update libav ### 0.10.67 sanity check crop/resize bounds fix events killed detection ### 0.10.64 fix infinite loop in event purge key off json files for recorded events use appropriate drive when fetching events implement new events directory fix hide autoconfigure note Merge branch 'main' into events put opencl behind setting ### 0.10.63 new events stream ### 0.10.62 fix opencl blur kernel corruption ### 0.10.60 fix potential slow leak in opencl motion detection update test server dont end detection if a recognition fails ### 0.10.59 disable hw accel by default on intel mac ### 0.10.57 Merge branch 'main' of github.com:koush/scrypted-nvr comment falback hw decode + hw postprocess failure cl motion sensor release ### 0.10.56 fixup hardware to software small resize fallback cl motion worker comments grant motion sensor access to non-admin users ### 0.10.55 beta: focus mode ### 0.10.54 more aggressive malformed frame failure fix face db clear crash frame sanity checking remove debug logging ### 0.10.53 beta ### 0.10.52 rename to Accelerated Motion Detection respect motion detection options limit thread spam cuda transfer to opencl support ### 0.10.51 cleanup fix software scalar fallback ### 0.10.50 beta ### 0.10.49 working cl motion detector wip opencl motion detection cleanup cleanup shuffle files stub out opencl motion detect new libav beta ### 0.10.48 prevent hw accelerated ffmpeg usage if not available ### 0.10.47 prevent usage of invalid detectors ### 0.10.46 support playback rate on transcoded streams ### 0.10.45 fix vaapi transcode hang ### 0.10.43 remove prune fork update motion workers ### 0.10.40 fork based edge processing remove zygote in favor of worker file fork debug logging ### 0.10.37 increase motion detection sensitivity ### 0.10.36 show browser origin for notifier in settings ### 0.10.34 fix server id in notitifications wip multi server notifications note the limitations of libswscale use default scaler for min dim path ### 0.10.33 beta ### 0.10.32 intel requires 16 byte min stride hw vs sw filter lists use proper sw scaler recycling fix filter reuse issue by using exact cropping log av errors fix frame counter, better load/decode failure handling ### 0.10.31 beta ### 0.10.30 fix load errors presenting as decoder errors fix nre if options arent provided qsv fixes ### 0.10.29 Merge branch 'stable' ### 0.10.26 fix repeated warning probe all possible decoders before auto fallback ### 0.10.28 beta ### 0.10.27 splice audio stream for detection beta ### 0.10.25 failures should fall all the way back to legacy decoder dedupe devices across users ### 0.10.21 relax alert until software decode fails ### 0.10.20 zero cpu transcode wip: no-cpu hevc transcode more decoder error logging ### 0.10.19 release ### 0.10.18 dump cpu model on error remove decoder alert, check decode fallback per camera beta ### 0.10.17 fixup links ignore load errors when sanity checking decoer suppress libav errors prior to keyframe ### 0.10.15 fix console erorr crashing mp4 export fix intel mac detection ### 0.10.14 beta, fix create filter crashes ### 0.10.13 beta ### 0.10.12 check for auto mount markers publish new storage autoconf ### 0.10.11 search /mnt/nvr-large and /mnt/nvr-fast for auto conf allow running new and legacy decoder side by side software postprocessing option ### 0.10.10 platform check ### 0.10.9 better filter creation error notification ### 0.10.8 fix bounding box mangling during face detection ### 0.10.7 fix qsv context clobber ### 0.10.6 legacy decoder guidance ### 0.10.3 publish stable ### 0.10.1 beta ### 0.9.86 version gate the new decoder error reporting ### 0.9.85 beta ### 0.9.84 switch to legacy decodder option handle hw decode failures improve software pipeline performance ### 0.9.83 beta ### 0.9.82 singleton electron build, fix electron downloader ### 0.9.81 beta ### 0.9.80 webpackify beta ### 0.9.78 fix debug code ### 0.9.76 hw decode fallbacks ### 0.9.75 beta ### 0.9.74 functional qsv on linux and windows support nvidia decode ### 0.9.72 fix buffer detach failing package detection beta ### 0.9.71 remove simulated failure start frame watchdog immediately fix unhandled rejections fix generator close unhandled rejections cleanup improve recording storage error messages properly handle undeliverable notifications ### 0.9.70 beta with fixed codec parameter init ### 0.9.69 beta ### 0.9.68 use fork based console log ### 0.9.67 fix hw frames context sourcing, fix beta ### 0.9.66 beta ### 0.9.65 beta ### 0.9.64 update ffmpeg to latest, fix reolink cams sanity check image operation values ### 0.9.63 fix vaapi ### 0.9.62 update native dep publish beta ### 0.9.60 add fork liveness/kill signaling add id to notifications fix spurious rpc objects frame leak tracker fixup sw perf frame cleanup cuda marker more leak fixes, decoder failure recovery, publish beta ### 0.9.59 fix frame leaks ### 0.9.57 fix leak. publish beta. ### 0.9.56 beta ### 0.9.55 improve decoder teardown log weird snapshot path libav load fixes ### 0.9.54 fix spurious snapshot saving when running motion detector + nvr and no object detection fixup libswscale dynamic resize quirks bail frame generator after single frameis retrieved dont use hw decode on single frame requests ### 0.9.52 fixup addon install ### 0.9.50 remove debug addon loading ### 0.9.49 decoder perf logging ,beta ### 0.9.48 functional videotoolbox, vaapi, softrware remove binding gyp use separate libav repo wip extenral lib jpeg encoder remove deno working zero latency/copy pipeline restructure fixed vt scale fix sw wip libav decoder improve fork startups new motion graceful shutdown derp ### 0.9.47 fork beta ### 0.9.46 missing file use fork for motion build fix prevent busted disks from hanging settings ### 0.9.45 fix another mp4 export permission issue ### 0.9.37 move packetizer back into per stream output ### 0.9.43 fix mtu calculation. publish. ### 0.9.35 fixups Merge branch 'main' of github.com:koush/scrypted-nvr wip clip export to ffmpeg input ### 0.9.33 clean up url perms fix adaptive bitrate audio stitching, publish beta ### 0.9.32 wip webgpu motion move fork to common implement fast fork name forks publish latest ### 0.9.31 beta ### 0.9.29 delete event metadata prior to sending to device cleanup per class thresholds import cleanup admin user cleanup build fix build fix reset face database down to canonicals improved clip delineation. publish beta ### 0.9.24 fix empty set unhandled disable face rec while reclustering beta ### 0.9.23 fix unhandled rejection if detector crashes canonical preservation selective cluster nomination fixup known face add bug save canonical distance to track decay cleanup refactor face embeddings saving initial pass face recognition thread add detection event metadata to notification increase fs cache duration to 3 days potential fix for long running performance degradation ### 0.9.22 fix unhandled rejection in interface checkers ### 0.9.21 remove trace fix double recording startup if camera is wonky ### 0.9.16 fix unhandled rejection if stream fails to start during recording ### 0.9.14 Merge branch 'main' of github.com:koush/scrypted-nvr fix unhandled rejection if stream fails to start during recording ### 0.9.13 fix mp4 export unhandled rejection beta ### 0.9.12 fix potential unhandled rejection with h265 transcode remove house intercom remove house intercom ### 0.9.11 new storage progress bars fix potential unhandled rejection around notificaiton delivery cloud href fix unhandled rejection in first packet fai;ure fixup promise race fix potential unhandled rejections disable vaapi inside nvidia contianer ### 0.9.10 socket failure cleanups fix potential unhandled double reject fix more unhandled rejections fix various unhandled rejections fix adaptive bitrate for apple tv ### 0.9.9 more ui common refactor put generator error into correct console ha card fixes ### 0.9.7 fix grid card wrap alignment ### 0.9.6 relax stream degration notification ### 0.9.4 snoozable offline events suppress stream interrupted if device is completely offline apply endpoint snooze to stream degradation ### 0.9.3 use long gop when transcoding ### 0.8.107 beta ### 0.8.106 handle packetization in adaptive bitrate Revert "fix packet loss window calculation" fix packet loss window calculation fixup confusing frame drop logging fixup zerolatency transcoder warning ### 0.8.105 disable hwaccel for single frame decodes to prevent gpu resource thrashing. h264 utils error message cleanup ### 0.8.104 beta ### 0.8.103 blip fixes check for embedding collision prior to learning face handle event lookup when low res stream is missing send cam offline notification if a substream fails timeout logout after 2 seconds and continue further face clustering bug fixes beta ### 0.8.102 fix blip detection by requiring at least 1 tracker hit vaapi only on intel bump min width to 2k doc transcode min width ### 0.8.101 fixup adaptive bitrate grey frames ### 0.8.100 fix adaptive bitrate transcode with mute audio ### 0.8.99 beta ### 0.8.98 enable transcoding in adaptive bitrate fix tiered snooze clobbering fix activity timeout ussage fix android snooze duration add some transcode guardrails use common activity timeout add support for vaapi encode fix image transition fix unhandled rejection if recording fails encode with video toolbox on darwin ### 0.8.97 tag h265 mp4 with hvc1 so quicktime can play it fix broken image on page reloads ### 0.8.96 beta ### 0.8.93 improve timing and transcoding fixup alternate transcode rtp modes transcode improvements fix scrub timeline marker skip jank fix transcode when audio is missing ### 0.8.89 initial support for transcoded h265 smooth scrub simd fast path for face clustering reuse existing centroids for face training perf updates ### 0.8.87 update ui ### 0.8.86 fix up familiar people filtering/icons also fix filtering event list by familiar people ### 0.8.85 fix filtering by familiar person in event reel ### 0.8.84 release detection view in nvr app ### 0.8.82 beta ### 0.8.81 nvidia may fail after ffmpeg start with no frames beta ### 0.8.80 crop square from top of person detection face detect fixup centroid dropout constants fix infinite loop in centroid dropout add centroid and cluster dropouts for relearning use k-means clustering to remove redundant faces rework embeddings dirty state face recog updates fix lastHit metering merge known/unkown and recreate on canonical label create separate kd-tree for known vs unknown fix event thumbnail ghosts redeuce decoder logging massage labelled faces server side ### 0.8.79 improve spurious retention of labels ### 0.8.78 fix plates too ### 0.8.77 fix bug where near all plates were filtered ### 0.8.75 mipmap caching works! simplify wasm image resize/crop wip mipmap caching wip mipmap caching mipmap prep shuffle decoder resize arg validation relax detection tester nms fix unhandled rejections if recording fails to start fix unintialized error if wasm decode fails to start add video decoder stall logging ### 0.8.74 throw on bad resize/crop calls revert object tracker test add decoder health check ### 0.8.73 fix non-int recognition bounds. how did this work? ### 0.8.72 fix detection id generation race condition ### 0.8.71 beta ### 0.8.70 beta ### 0.8.69 dont close image until yield returns, for jpeg creation relax nms in tracker fix confusing per camera object detector setting ### 0.8.68 beta ### 0.8.67 remove tflite from defaults, filter plates retain all plates with 4+ chars beta ### 0.8.66 relax face width check add option to disable training mode add training mode for faces stop jumping the gun on notifications ### 0.8.65 make familiar people always snooze person and animal, and person always snooze animal. fix bug where labels were always sent Merge branch 'main' of github.com:koush/scrypted-nvr update ### 0.8.64 decoder logging faster ffmpeg timeout ui for familiar people, separate snooze bucket add ffmpeg failure hooks and fallback to software beta ### 0.8.60 remove tfjs usage fix face detect crash fix viral train rate to only cue off canonical images clean up double slashes in url join add face search early outs and pruning use kd-tree for face search beta improve face search ### 0.8.59 beta with perf improvements ### 0.8.58 enable face recognition by default ### 0.8.57 beta ### 0.8.56 favor detections with labels fix addition of new people through ui fix embedding serialization ui cleanups and face db management initial face db in memory face distnace fix frame leak track faces/plates separate from person/vehicle beta ### 0.8.55 allow nms on person and animal detection grid cleanups ### 0.8.54 fix same size resize crop op fix image sampling corruption ui cleanups ### 0.8.53 zero length segment logging fix disk allocation bug wip detections detection view ### 0.8.52 initial implementation of detection search ### 0.8.51 fix frame timeout remove duplicate frame allocs and copies! add support for onnx recognition beta ### 0.8.50 fixup detection test tool fix bug in non max suppression where detections are lost inline jpeg encode bitops fix non-recording detections causing push erorrs fix pipeline leaks enable hw accelerated decode by default move recognition into separate pipeline stage deprecate tf, fix frame queing onnx support ### 0.8.49 restart interrupted recordings faster ### 0.8.48 fix bug where device deletion uhas zombie license improve motion detection performance new text recognition engine, rknn option ### 0.8.46 fix detection class filtering ### 0.8.45 fix erroneous face recognition filter ### 0.8.44 beta ### 0.8.43 batching and detection type fixes make package selectable type add batch hint improve startup time with worker zygotes and parallelization ### 0.8.41 update assemblyscript recognition settings ### 0.8.40 optimize detection thumb bounding boxes add license plate detection alias remove legacy second pass tracker update deps prefer face detections for push notification fix package detection in motion streamlined detector update deps pass original crop image into recognition pipeline lazy convert crop only images in detection pipeline fix amcrest probe catching reolink cams ### 0.8.39 health check stub beta ### 0.8.38 handle early failure leaks fix recording unhandle rejection with offline devices fix object detection crash ### 0.8.36 apply non max suppression prior to face detect fix license cache not being respected on startup fix logout button when cloud is unreachable detect faces on detected peopel remove unnecessary object detection calls fix ha card integration url ### 0.8.35 add scrollable option to ha card grid ### 0.8.34 dummy proof HA config ### 0.8.33 prevent tfjs usage if not electron ui icon fix ### 0.8.32 move people to separate bucket, improve aliasing fix noisy log move person into separate bucket for tracker publish nvr plugin ### 0.8.28 publish beta ### 0.8.27 fix all video frames being queued ### 0.8.26 link companion app should only show for ha ### 0.8.24 fix ha card scrollability ### 0.8.20 cleanup missing file always use wasm dec add support for notification config in ha ### 0.8.19 fix adaptive resize on recordings, play start/stutter ### 0.8.18 add notification context to navigation fix truncation bug ### 0.8.12 publish beta ### 0.8.11 cors the beta site ### 0.8.10 publish beta ### 0.8.8 prep for multiserver support ### 0.8.7 fix newer recordings deleted during low disk space use min of bavail and bfree during free space check ### 0.8.6 allow mixin notification interception ### 0.8.5 allow local only delivery on nvr app ### 0.8.4 full dep rollback ### 0.8.3 add locks as nearby sensors ### 0.8.2 fix lockfile ### 0.7.20 consider only interior size of package outline ### 0.7.18 cleanup ### 0.7.16 use node builtin fs free space check ### 0.7.15 beta ### 0.7.14 fix another free space alert bug fix potential bug in recordings clearing beta ### 0.7.12 parallelize hour event load another aspect ratio fix on grid ### 0.7.11 fix license refresh button cache bypass ### 0.7.10 use cloudflare for faster push delivery ### 0.7.9 fix thumbnail filename, log error if video stream thubmnail conversion fails publish beta ### 0.7.7 fix large fiel size on detection thumbnails sanity checking progressively longer license periods based on sub age fix adaptive bitrate downgrade on ipad ### 0.7.6 cleanup device name detection improve platform detection of native apps ### 0.7.4 publish new plugin supporting android ### 0.7.3 update ### 0.7.2 add reolink labels fixup device names add support for android clients add camera provided detections to events ### 0.6.41 support ha dash deep linking into app ### 0.6.40 fixes around hw detect notifications deliver hw detections even if nvr is disabled deliver notification for camera hw detections add support for camera provided events stub out audio events ### 0.6.39 reset tracker between detection sessions ### 0.6.38 reduce first frame latency, improve startup time fix frame timeout bug with overaggressive idle detector ### 0.6.37 use stable detection id with frame num suffix pipeline timeouts on source and sink ### 0.6.36 fix debug tool time lock ### 0.6.35 fix detector crashes causing pipeline leaks ### 0.6.34 update detector defaults ### 0.6.31 default to openvino on windows if portable python is found fix motion rescan cropping tracked objects fix packages not detecting if zones are used ### 0.6.30 more scrub fixes ### 0.6.28 fix playback not resuming after ff scrub ### 0.6.27 fix reseek during low-res ff ### 0.6.25 fixups/simplify scrub fastforward ### 0.6.23 implement fast forward smooth scrubbing ### 0.6.22 publish beta ### 0.6.21 fix unnecessary seq breaks when packet ends on marker h264 frame extraction caching add api for h264 frame extraction ### 0.6.20 send decoder timestmaps down pipeline for improved seeking fix missing wasm decoder timestamp packge events fixup fix packages not showing up in events ### 0.6.19 remove logging, publish beta ### 0.6.17 update server ### 0.6.16 add timestmap logging use requested destination for timelapse fix low confirm analysis hang/leak handle push unregistration remove uuid lib remove axios, publish beta ### 0.6.14 fix edge case where rtsp truncation gets wonky ### 0.6.13 improve tracker to better handle occlusions missing file recorded events no longer have 1 minute lag fix missing thumbnails/events when using multiple disks ### 0.6.12 fix missing thumbnails/events when using multiple disks ### 0.6.11 fix unhandled rejection in logs ### 0.6.10 publish with potential ffmpeg leak fix ### 0.6.8 move ffmpeg leak monitoring earlier into pipeline remove debug logging fix first reference frame, publish ### 0.6.7 improve package edge detection delay process package detection handle missing detection image clear recording failure alerts on disk mount recovery. fix bug where non-admin user recursion could hang server ### 0.6.6 relax default package zone, publish ### 0.6.5 use sane tilt values for ui ### 0.6.2 accomodate grainy codecs for package detection ### 0.6.1 tweak package detection edge generation add option for debug snapshots give truncation a head start on pruning clear allow list to reset, fix video retention days display publish stable ### 0.5.41 fix analyze mode publish beta ### 0.5.40 ignore timestamps causing timelapse video corruption retweak package score after edge detection threshold fix remove reverseOrder and startId implementation fix video retention days erroneous warning ### 0.5.39 improve edge detection thresholds alert if disk space is low during truncation further reduce package score threshold fix package detection input aspect ratio add support for exporting substream as mp4 tweak package detection score adjust package weight scoring adjust window size ramping fix adaptive bitrate stream query reenable package detection ### 0.5.38 beta: fix package detect and stream query ### 0.5.36 log the recording stream selected ### 0.5.35 publish beta ### 0.5.34 disable debug frames adaptive resize should account for stream size too animals cant deliver packages package detection wip tweak package min/max area/dims dogs arent packages if theyre sitting in the package zone cleanup logging cleanup wasm organize imports fixup package bounding boxes add slow timers fix various unhandled rejections add default package zone for doorbells improve truncate recycling fix package detection zone make package a default notification working package detect remove face detect models temporarily fix dilate 0 being defaulted wip: package wip: package disable debugging ### 0.5.32 publish fix potential playback failure on corrupt events file ### 0.5.30 update polygon deps more appletv adaptive grid fixes ### 0.5.28 fix noisy destination change ### 0.5.27 fix grid mode on apple tv with adaptive bitrate ### 0.5.26 fix resize observer ### 0.5.24 log missing client rect ### 0.5.23 publish stable ### 0.5.22 fix camera failure potentially leaking threads publish stable ### 0.5.21 fix log spam after device is deleted more fixes around click vs scroll interaction debounce ### 0.5.20 fix timeline click going to wrong spot ### 0.5.19 fix debug tool ### 0.5.18 prevent interval suspend spam, publish beta ### 0.5.17 publish beta ### 0.5.16 fix up interaction between user selection and adaptive bitrate fixes for adaptive resize. publish beta. ### 0.5.14 publish beta ### 0.5.13 fix potential ffmpeg leak on decode hang make adaptive handle client size change fix duplicate events race on session boundaries ### 0.5.12 fix thumbnail generation near leading bounds ignore frames with near full frame motion add crop fast path, fix chroma stride name to label fix full screen regression on mobile ### 0.5.11 fix dangling ffmpeg ### 0.5.8 publsih ### 0.5.7 use imageop util function ### 0.5.5 simplify frame queue, reduce mem reservation 90% fix length undefined ### 0.5.3 publish video timestamp/export fixes ### 0.5.2 improve recording playback timestamp syncing using periodic syncpoints document reolink quirk with janky timestamps ### 0.5.1 publish to stable ### 0.4.33 watch for pipeline timeouts ### 0.4.32 fix gradual leak in object detection ### 0.4.31 fix gc trashing in decoder ### 0.4.30 image op refactor, publish beta ### 0.4.29 use sharp when available. ### 0.4.28 prep sharp build ### 0.4.26 provide detection filename hint ### 0.4.25 pubish beta ### 0.4.24 disable image reader in nvr codegen improved resize assembly ### 0.4.23 fix noisy ffmpeg logging fix heap queue full stagger recording startup multithread snapshots ### 0.4.22 fix nv12 stride calc improve onvif probe publish! ### 0.4.20 fix jpegs that are odd pixels in height force snapshots to nv12 fix image resize scale up add new image reader stub add frame decoder add test for jpeg decode allow buf overrun switch to internal APIs that support windows! ### 0.4.19 further decoder fixes ### 0.4.15 implement frame queueing add accelerated gray decode path implement accelerated yuv -> rgb fix decoder showinfo parsing ### 0.4.10 use optimistic frame sizing to max fps throughput ### 0.4.9 reworked playback time calc handle rtp timelapse rollover on large mp4 exports fix mp4 export when recording has gaps send empty decoder timestamps fix spurious confirm to low-confirm switch init huffman tables in decoder fix yuv420p jpeg encoder fix erroneous truncation in auto retention mode fix potential spurious retention (thanks @vic) cleanup new decoder leaks fixed code cleanups remove unnecessary allocs prep for new decoder add accelerated nv12 jpeg encode fix moire pattern caused by shuffle improved writer working rewritten huffman tables prep huffman table rewrite prep writeops fixup early init further inlining finally faster than ffmpeg transpose+zigzag fast path prep fast transpose switch to f32 array ops working f32x8x8 fixup js jpeg encoder disable pull to refresh finally working... fix int16 overflow simd quant phase 1 move quanitization into u16 vecs simd matrix transpose for jpeg quantization ### 0.4.6 perform column ordering quantize first potential fix for runaway python processes cleanup wasm use 4:2:0 sampling vectorize yuv/jpeg load switch to f32 working wasm jpeg encoder wip asm jpeg working hardware accelerated decode via ffmpeg more hackery to fix byob reads remove allocs/copies in dec/conv, 8x improvement decoder perf on par with libav working, but cpu too high. wip: ffmpeg/wasm decoder engine further improve assembly simd image ops hot path improvemnet fixup simd sampler initial pass at new in process webassembly/simd decoder ### 0.4.3 privacy mode toggle implement privacy mode adaptive bitrate requires license motion/object detection requires license prune should use force flag publish beta ### 0.4.2 fix unhandledRejection during teardown error revert assemblyscript, publish beta ### 0.4.1 publish beta ### 0.3.32 fix video retention days off by 1 squelch logging publish beta ### 0.3.31 prune more zombie dirs prune zombie dirs fix immutable trunc cache bug free space check caching refactor cleanup fix nre fix more caching bugs disable cache on write to fix missing events maybe refactor fs for minimal reads and nonblocking ops refactor fs for minimal reads and nonblocking ops remove angry logging fix erroneous recording unavailable bugs initial pass at in memory fs grid view should fill height ### 0.3.30 fix ring event thumbnails ### 0.3.29 fix ha card live query param ### 0.3.28 fix zoom ### 0.3.24 generate cache on hourly rotate ensure rebroadcast is enabled on startup fix detection saving on dual stream cams ### 0.3.23 fix ha card not loading ### 0.3.21 prevent nvr plugin from being added to launcher more notifiction logging fix notifications not delivered for stationary objects fix online notification bug verbose logging around notification delivery delete dangling user preferences handle fs that dont support hardlinks more canvas and aspect ratio fixes ### 0.3.20 publsih ### 0.3.18 fix deletion bugs in automatic retention mode round aspect ratio to prevent canvas flickering ### 0.3.15 decouple canvas size calcuation from current canvas aspect ratio ### 0.3.14 fix weirdo ui flashing ### 0.3.13 remove duplicate ios devices on registration ### 0.3.9 add missing ha link info ### 0.3.8 hide motion detection by default always save motion snapshots in case motion filter is removed from events/timeline migrate fetch helper release ### 0.3.7 publish beta ### 0.3.6 sketchy beta ### 0.3.5 delete layout support wip: custom grids add support for custom grid persistence allow destination switch during recording playback fix custom settings sanitization ### 0.3.4 beta ### 0.3.3 add more syncable user prefs fix ha missing doorbell/motion/offline tag events only with moving detections ### 0.3.2 fixup People/Person bug Person vs People fixup better event delineation ### 0.3.0 improve debug build time update readme mac/windows requires desktop app beta ### 0.2.31 fix free space calc ### 0.2.30 fix ha card load race condition ### 0.2.29 release! ### 0.2.27 remove axios, use square detections ### 0.2.24 further simd detection fixup/warning warn proxmox cpu host bug, fix framegen leak beta ### 0.2.23 point readme to docs typo use all drives for free space calculation add default automatic storage management mode round detections to reduce on disk/net size fix file truncate regression caused by finally block ### 0.2.22 add debug info to image drag note default recordings dir is a large disk heavily favor coral during round robin ### 0.2.21 publish beta ### 0.2.20 fix disk round robin prevent hardlinks across volume boundaries multiple disk support complete cleanup use explicit storage paths throughout further cleanups sketchy af beta ### 0.2.19 remove assumption recordings is on single drive Merge branch 'main' into beta fix broken motion only events ### 0.2.18 Merge branch 'main' into beta fix asyncgen garbage collection issue ### 0.2.17 Merge branch 'main' into beta fix nvr video frame rpc connect ### 0.2.16 Merge branch 'main' into beta fix angry snapshot requests ### 0.2.15 Merge branch 'main' into beta fix spurious objects ### 0.2.14 Merge branch 'main' into beta ### 0.2.13 Merge branch 'main' into beta fix tfjs image queue update package.json ### 0.2.12 new settings for multiple disks pull events from fast disks ### 0.2.11 publish beta ### 0.2.10 another symlink fix fix bug where symlinks arent deleted cleanup allow earlier exit from emergency deletion mode remove legacy ha card bucketize notification detection classes use hardlinks for detections for same volume redundancy fix stream duplication event recording bug remove debug code fix assumptions that streams are on same drive filter already added cameras fix license failure notificaiton and priority fix var name prevent motion snapshots if object detection is enabled move sdp into json. elimate 1 scrub read. tiered storage prepwork allow streams to independently fail and retsart Revert "allow selection of wrong detector if people want, warn angrily" beta ### 0.2.9 code cleanups finish up deletion implementation deletion interface stub add plumbing for missing video warnings fix retention warnings support truncation prior to critical space warning track segment end time fix reporting ### 0.2.8 use openvino gpu and coral tpu if both available ### 0.2.7 ha navigation fixes ### 0.2.6 fix tfjs detector ### 0.2.1 publish stable ### 0.1.226 publish beta ### 0.1.224 working grayscale motion sensor implement blurGrayDiff improve inner loop iteration normalize rgb code implement gray diff ### 0.1.222 switch to updated blurDiff fix implement simd absdiff fix simd load order for l1 caching benchmark blur 8x speed boost implement rgb code comments more l1 cache perf imrovements improve simd blur fix standalon motion detector dilation ### 0.1.221 expose motion sensor for general usage ### 0.1.220 strip out longering motion sensor settings dead code fix webpack junk ### 0.1.219 publish beta ### 0.1.217 working simd blur sensor implement absDiff webpack worker fixes add rgb blur color conversion ### 0.1.216 reset motion reference on heavy frame changes ### 0.1.215 missing files implement simd blur publish beta ### 0.1.213 fix erroneous motion from shadows etc batch motion boxes ### 0.1.207 missing file ### 0.1.198 install coreml automatically on apple silicon remove motion detector installation fix ignore files add SIMD support fix reference frame in new motion detector ### 0.1.197 fix webpack ### 0.1.196 further simplify motiom inner loop ### 0.1.195 threadify publish beta with huge perf boost ### 0.1.188 move async quuee fix async queue race conditions downgrade vuetify ### 0.1.187 publish plugin ### 0.1.186 fix ios stream load delay ### 0.1.185 publish release ### 0.1.184 publish beta ### 0.1.183 better motion box chooser blow up all notifiers on recording failure update ha card links ### 0.1.181 allow selection of wrong detector if people want, warn angrily ### 0.1.180 prep for unsuppressed detectors ### 0.1.178 device deletion no longer immediately frees storage use classical nonmax suppression not sure how this ever worked ### 0.1.177 fix bucket filter ### 0.1.176 publish unstable beta ### 0.1.175 publish beta ### 0.1.174 beta: use prebuffer reference frame ### 0.1.173 reset pan on zoomout ### 0.1.172 wheel zoom on desktop browser ### 0.1.170 release timelapse and playback speed ### 0.1.169 publish beta ### 0.1.168 disable heatmap, motion reference frame snapshot prebuffer for motion detection init ### 0.1.167 clean up timelapse ui working timelapse fix mp4 export wip: timelapse fix ff + scrub playback hangs ### 0.1.164 clean last rtp timestamp on stitch publish beta with playback rate ### 0.1.163 non-admin can filter/reorder cameras, hide object events ### 0.1.162 publish beta with heatmap fixes ### 0.1.160 watch for all creature types publish beta ### 0.1.159 fix padding on home intercom mic slash ### 0.1.158 publish beta heatmap detector ### 0.1.157 implement motion heatmap decay ignore high watermark if multiple terabytes are free finish heatmap filter, autoend low confirm publish beta ### 0.1.156 send notifications without image if image request fails for any reason improved thumbnails, choose better targets update deps new heatmap smart motion sensor initial implementation for spurious motion fallback fix recording stream export being unbound duration when hevc ### 0.1.155 fix malformed aac export ### 0.1.154 dont force installation of default plugin if non-default like tflite was selected. ### 0.1.153 fix pause/resume playback ### 0.1.152 release plugin ### 0.1.148 fix ssl edge case in ha_card.html fix beta expiration ### 0.1.147 use local recording stream instead of local ### 0.1.146 dont reuse previous tracked scores in case trakcer is wrong min 3 days recordings ### 0.1.145 refer ha users to wiki fix bug where notification on/off switch broke ### 0.1.144 fix card issues on ha companion app ### 0.1.141 support HA notifications ### 0.1.140 fix ffmpeg ENOENT ### 0.1.139 fix rpc gc churn and smb hangs ### 0.1.138 fix sync fs access to fix smb hangs ### 0.1.137 fix per frame rpc gc churn fix potential recording playback hang fix/add support for custom detection classes ### 0.1.136 track unknown objects ha card fixes ### 0.1.135 fix ha access token issues on mobile by requiring an access token ### 0.1.134 fix home assistant cards. ### 0.1.133 include ha card html ### 0.1.131 improve startup time, fix ignore camera button clean up user preferences issues ### 0.1.130 potential fix for scrub freeze? ### 0.1.128 fix broken ingress links ### 0.1.127 fix broken ingress links ### 0.1.124 allow changing the detector at the plugin level to override openvino preference over coral upgrade long running adaptive bitrate connections passthrough preexisting aac on mp4 export ### 0.1.123 prevent discontinuity on first rtp sample send discontinuitys only prior to first packet simplify audio toggling during scrub stupid workaround for embed urls ### 0.1.122 use alternate iframe compatible clipboard copy ### 0.1.121 HA embed url copies to clipboard ### 0.1.117 send mp4 creation logging to correct console pass dilate/area args to get raw data ### 0.1.116 publish plugin ### 0.1.115 hack/fix NaN on avg velocity computation plugin support for fcm ### 0.1.114 add new camera via ui ha card? ### 0.1.113 publish plugin ### 0.1.112 fix event grid thumbnail aspect ratio ### 0.1.111 fix deleted push leak ### 0.1.110 remove old push manager. enable push by default. ### 0.1.107 use SCRYPTED_NVR_VOLUME as default volume ### 0.1.106 electron startup checking ### 0.1.104 use openvino as x64 default on win/linux ### 0.1.101 fix video frame leak in beta ### 0.1.99 reenter motion confirmation mode on motion loss update readme always prefer newer detections fix motion bucketizer cropping redetection areas ### 0.1.98 fix generator close ### 0.1.97 publish beta ### 0.1.96 zone fixes use zone hints to prefilter second pass allow disabling detections, dont reenable aggressively ### 0.1.95 events cleanups/tweaks ### 0.1.94 fix webgl motion thread leak use new thumbnail generator in events and notifications too ### 0.1.93 warn on critically low disk space ### 0.1.92 limit motion box reprocessing to 3 ### 0.1.91 publish beta, use at own risk! ### 0.1.90 simplify tracker, retain only moving objects ### 0.1.88 second pass tuning ### 0.1.84 include opencv/electron-core as auto installed motion sensor generator cleanups, detection improvements parallelize second pass motion + detection box math cleanups beta wip Merge branch 'main' into beta ### 0.1.83 Merge some beta branch improvements. group similar objects in timeline thumbnails fix head of line hangs in jpeg saving utils record tracked object only only when things are moving collapse similar objects until theyre distinct group similar objects in timeline thumbnails add slow op logging utils fix head of line hangs in jpeg saving add motion reference frame frequency option Merge branch 'main' into beta readd support for custom models ### 0.1.82 readd allow list ### 0.1.81 Merge branch 'main' into beta readd threshld options ### 0.1.80 remove deprecated api wip new hybrid detection engine track motion readd threshld options wip new hybrid diff detector support non-gl buffers in motion detectir fix clip duration on ongoing event ### 0.1.79 remove sort tracker ### 0.1.78 fix notification only delivery add teddy bear to common kid/dog misidentification ### 0.1.77 fix dog->person misidentification with second pass check ### 0.1.76 publish new tracker in beta ### 0.1.75 log second pass checks implement tracker noise/deduplication fix tracker bucket bug fix key