UNPKG

@scrypted/nvr

Version:

NVR plugin for Scrypted.

3,622 lines (1,934 loc) • 60.4 kB
<details> <summary>Changelog</summary> ### 0.12.60 fix global styles leaking into web components css fix canonical faces not being persisted sometimes add popup-no-timeline option to cards ### 0.12.57 publish stable ### 0.12.56 fix infinite read loop on missing video segment ### 0.12.51 update deps update deps cleanup fix camera specific decoder default not falling back to global default ### 0.12.50 publish beta ### 0.12.48 missing file publish beta ### 0.12.47 add debounced logging for stationary/clipped object filtering cleanup fix zones causing truncated and lsot detection boxes cleanup do best effort analysis on excessive motion boxes fix bug where input dimension clipping was preventing motion tagging hide/disable label settings refactor face embeddings to general purpose embeddings wip label anything fix potential race condition in object movement tracking ### 0.12.45 use iso string on both ### 0.12.44 add mp4 metadata ### 0.12.43 fix nvr plugin first run sign in on desktop apps ### 0.12.42 fix detection clip check, be more discerning on dataset uploads ### 0.12.41 make thumbnails bypass hotlink checks ### 0.12.40 implement backoff ### 0.12.38 publish beta ### 0.12.37 working dataset uploader training from doorbells too rename rename add setting to submit detection samples for training models more settings shuffling move settings around remove inline settings for detector notification exclusion zones ### 0.12.36 skip last-will-testament if no notifiers ### 0.12.35 make some settings inline ### 0.12.34 make sure user has signed up through billing portal before allowing plugin login ### 0.12.33 improve browser identification in managemnet console add immediate notification setting to app ui ### 0.12.28 not beta ### 0.12.26 add call to action to give me more money re-add Immediate Notifications ### 0.12.24 refactor message snoozing remove immediate notifications setting ### 0.12.23 dont use text notifications for person if familiar person notification is disabled cleanup ### 0.12.21 fix Maybe: Vehicle weirdness use deterministic tag names to collapse known vs unknwon refactor to use RecordingUnavailableError fixup privacy mode recordings to go in new privacy section ### 0.12.20 wip linked buttons remove debug code ### 0.12.18 offline setting description make online/offline notification critical optional ### 0.12.17 beta ### 0.12.16 fix unhandled rejection, publish beta ### 0.12.14 remove clinerules offline alerts setting switch to rollup wip rollup add server offline notifications ### 0.12.12 autoconfigure button on discovered cams fix periodic event reel cjank ### 0.12.11 popup can go into scrypted inside ha now ### 0.12.10 make web components respect system theme by default ### 0.12.9 hide timeline on popup cards if not recording ### 0.12.8 improve event icon filtering ### 0.12.6 fix express sendFile caching breaking cards prevent two column timeline by default when horizontal ### 0.12.5 fixup popup card size ### 0.12.4 events popup too ### 0.12.3 event carousel popup ### 0.12.2 ha popup ### 0.12.1 remove camera grid card from web components. fix css import. ### 0.11.148 fix event reel margins ### 0.11.147 fix event reel click ### 0.11.145 fix card live property ### 0.11.144 release new cards ### 0.11.142 wip webcomponents, fix ha card regression ### 0.11.141 remove debug code ### 0.11.139 ha card cleanups ### 0.11.137 fix generator cleanup fix image similarity search ### 0.11.136 update ai notifications to use new clip detection ### 0.11.135 terminate stream on webcodec buffer overflow ### 0.11.134 add none value to ha eventreel click ### 0.11.133 beta ### 0.11.132 watch for packet generator backup wip: move clip into own detection more targeted package detection fix reorder teardown to do frame gen last ### 0.11.131 fix potential final package detection failure ### 0.11.130 fix clip from clobbering face embeddings and ttagging motion ### 0.11.128 fix playback rate buttons and scroll interactions ### 0.11.127 fix webcodec load recording jitter ### 0.11.126 remove extremely noisy debug log ### 0.11.125 fix h264 nal splitting quirk on safari ### 0.11.124 readd support for node 20 cause people never update ### 0.11.123 implement scrub animation cancelation ### 0.11.121 disable auto scrub to/from live, will be used automatically if scrolling ### 0.11.120 add seamless scrub to/from live add supprot for live stream via webcodec ### 0.11.119 readd older builds of libav working ffmpeg 8 use correct audio session type for 2 way ### 0.11.117 publish beta ### 0.11.116 fix macbook trackpad zoom gestures ### 0.11.114 fix safari decoder buffering, so pretty ### 0.11.112 further scrub queue management scrub stitch fixes wip scrub cleanups filter rtcp when searching for keyframes ### 0.11.111 fix unifi h265 scrubbing compute aspect ratio from camera snapshot resolution ### 0.11.109 implement webcodec client size feedback and quality control wip quality change plubming remove legacy generator ### 0.11.108 add clock/sample-rate to audio packets improve webcodec startup latency ### 0.11.107 add Access All Camera option ### 0.11.106 fix playback start after first keyframe rather than before ### 0.11.105 better pause state management during scrub ### 0.11.104 more scrub cleanups ### 0.11.102 beta ### 0.11.101 implement ff scrub fix scrub promise cleanup remove first prototype webcodec code remove first prototype webcodec code fix webcodec playback time indicator cleanup fix 2 stream scrub, remove debug code working new scrubber fix keyframe search, wip new scrub animation improve frame flushing for faster seek wip webcodec rewrite wip webcodec rewrite wip webcodec rewrite wip webcodec rewrite wip webcodec rewrite wip webcodec rewrite ensure codec information prior to keyframe ### 0.11.100 fix h265 webcodec slice aggregation fix "how did this ever work" bug in beta ### 0.11.99 publish ha dash image fix ### 0.11.98 move using-holder to open source fix disabling webcodec flag ### 0.11.97 reverse flag ### 0.11.96 release webcodec behind flag ### 0.11.95 seek+audio fixes cleanup cleanup potential fix for ultra wide motion processing fix timeline advancement and other regressions ### 0.11.94 wip webcodec recording playback fixup app build ### 0.11.93 fix embeddings bloat regression ### 0.11.92 wip webcodec recording playback wip mp4 async generator conversion implement per camera decoder ### 0.11.91 wip per camera object detection decoder ### 0.11.88 working saveable custom layouts add support for designating disks as readonly ### 0.11.87 cors fix sendNotification nre ### 0.11.86 make export respect playback quality setting ### 0.11.84 fix empty critical zones ### 0.11.83 beta ### 0.11.82 collapse search results on a smaller time domian ### 0.11.81 fix bug where zone couldnt be disabled ### 0.11.80 make notification zone optional ### 0.11.79 improved image retention, working ai notificaitons ### 0.11.78 yet another beta, permission fix ### 0.11.77 non admin needs access to text/image embedding ### 0.11.76 beta ### 0.11.75 ai notifications beta ### 0.11.74 beta ### 0.11.72 beta ### 0.11.71 new vector search util perform clip on objects of interest day of week scheduling support and dst handling ### 0.11.70 respect time zone daylight savings purge empty names remove legacy training mode more zone/ai settings day filtering time zone for days schedule day persistent add support for heterogenous classifier in cluster mode ### 0.11.69 add support for custom classifier in nvr object detection ### 0.11.67 fix export words better error messages on storage failure make the 10-15% low watermark absolute regardless of disk size publish, prep for server update ### 0.11.66 beta ### 0.11.65 ncnn face recognition make ncnn usage more strict ### 0.11.63 initial support for ncnn use tree shake for font awesome to reduce app size by 1mb ### 0.11.62 common/webrtc: expand h265 keyframe types make decoder prefer rtsp tcp transport fix missing audio on tapo when ffmpeg parser is used. ### 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