MCPcopy Create free account

hub / github.com/2234839/ai-nvr / functions

Functions788 in github.com/2234839/ai-nvr

↓ 273 callersMethodpush
O(1) 追加一个 segment
src/storage/fmp4-ring-buffer.ts:53
↓ 268 callersMethodget
获取单个偏好值
src/storage/preferences.ts:46
↓ 115 callersMethodset
设置单个偏好值
src/storage/preferences.ts:52
↓ 79 callersMethodon
订阅事件
src/event-bus.ts:394
↓ 71 callersMethoddelete
删除偏好
src/storage/preferences.ts:76
↓ 63 callersMethodquery
查询事件列表(不带总数,用于内部查询)
src/storage/events.ts:121
↓ 54 callersMethodget
获取当前设置
src/runtime-config.ts:335
↓ 49 callersFunctionset
(path: string[], value: unknown)
src/config.ts:428
↓ 48 callersMethodprepare
( obs: Observer, primaryFrame: Buffer, timestamp: number, imageWidth: number, config: Fram
src/observer/frame-prep.ts:38
↓ 43 callersFunctionnumParam
安全解析数值参数,NaN 时返回 undefined
src/api/index.ts:19
↓ 41 callersMethodresolve
* 获取绝对路径
src/storage/storage-fs.ts:198
↓ 33 callersMethodemit
触发事件(热路径:for...of 比 forEach 快 ~10%,避免每次迭代闭包创建)
src/event-bus.ts:414
↓ 24 callersFunctionpad
(n: number)
src/storage/export.ts:10
↓ 23 callersMethodstart
启动引擎
src/alert/engine.ts:38
↓ 22 callersMethodclear
清空所有窗口
src/alert/window.ts:78
↓ 22 callersMethodclose
关闭数据库
src/storage/roi.ts:137
↓ 19 callersFunctionfetch
(req, server)
src/api/index.ts:2765
↓ 18 callersMethodstop
()
src/ptz/index.ts:67
↓ 17 callersMethodadd
添加 ROI
src/storage/roi.ts:71
↓ 15 callersFunctionesc
HTML 实体转义(防止 XSS)
src/notify/email.ts:6
↓ 13 callersMethodclear
清空缓冲区(保留 init segment)
src/storage/fmp4-ring-buffer.ts:113
↓ 11 callersMethodexists
* 检查文件是否存在(异步)
src/storage/storage-fs.ts:133
↓ 10 callersMethodgetRecordingPath
(relativePath: string)
src/observer/frame-prep.ts:13
↓ 10 callersMethodresize
调整最大字节容量
src/storage/fmp4-ring-buffer.ts:134
↓ 10 callersMethodsend
异步发送邮件(fire-and-forget)
src/notify/email.ts:173
↓ 9 callersMethodbuildConditions
构建查询条件
src/storage/events.ts:333
↓ 9 callersMethodremove
删除 ROI
src/storage/roi.ts:103
↓ 9 callersMethodscheduleSave
延迟保存(合并多次写入)
src/storage/tracks.ts:946
↓ 8 callersMethodclamp01
坐标 clamp 到 [0, 1]
src/observer/vlm-client.ts:164
↓ 8 callersFunctiongetStorageRoot
()
src/api/index.ts:177
↓ 8 callersMethodpurge
删除过期事件(分批删除避免长事务锁)
src/storage/events.ts:155
↓ 8 callersMethodpurgeAll
删除所有告警记录
src/alert/storage.ts:265
↓ 7 callersMethodaddEvent
添加事件记录
src/ai/track-activity.ts:233
↓ 7 callersMethodds
发送 DS 请求
src/ptz/tplink-ptz.ts:216
↓ 7 callersMethodgetDriver
获取驱动实例
src/ptz/index.ts:323
↓ 7 callersFunctiongetField
按字段路径从对象中安全取值
src/alert/condition.ts:20
↓ 7 callersMethodstat
* 获取文件 stat(异步)
src/storage/storage-fs.ts:120
↓ 6 callersMethodclose
()
src/alert/storage.ts:309
↓ 6 callersMethodcomputeFingerprints
* 并行计算三种指纹(dHash + 颜色直方图 + LBP) * 共享一次 metadata 调用和 extract 区域计算,3x → 1x I/O 开销
src/storage/tracks.ts:468
↓ 6 callersFunctiondoAppend
(data: BufferSource)
web/src/composables/useFmp4Stream.ts:496
↓ 6 callersMethodensureDir
* 确保目录存在(带缓存,跳过已确认存在的目录) * @param relativePath 相对路径(可以是文件路径,自动取 dirname)
src/storage/storage-fs.ts:83
↓ 6 callersMethodlistFiles
列出文件(支持过滤、分页)
src/storage/file-index.ts:177
↓ 6 callersMethodlistTracks
获取所有追踪目标(5 秒缓存,避免每次请求重建列表)
src/storage/tracks.ts:259
↓ 6 callersMethodmapRow
(row: Record<string, unknown>)
src/storage/track-labels.ts:145
↓ 6 callersMethodonEventTrigger
event 模式:事件触发录像
src/storage/recorder.ts:277
↓ 6 callersMethodrecord
记录一次推理
src/ai/metrics.ts:65
↓ 6 callersFunctionresolveModel
( models: LlmModelConfig[], llm: LlmConfig, modelId?: string, )
src/ai/multimodal-analyzer.ts:47
↓ 5 callersMethodcalibrate
* 从文件系统全量扫描填充索引(首次启动或手动触发) * 异步执行,不阻塞事件循环
src/storage/file-index.ts:248
↓ 5 callersFunctioncsvEscape
CSV 转义
src/api/index.ts:693
↓ 5 callersMethoddeleteFile
* 删除文件并记录增量 + 移除索引 * @param relativePath 相对路径 * @param indexMeta 可选的索引元数据,用于同步移除索引
src/storage/storage-fs.ts:62
↓ 5 callersMethodeffectiveRetention
* 根据磁盘压力计算有效保留天数 * warning (85-95%): 保留天数线性缩减到配置值的 50% * critical (>95%): 保留天数缩减到配置值的 25%
src/storage/cleaner.ts:78
↓ 5 callersFunctionensureLoaded
从后端加载全部偏好
web/src/composables/usePreferences.ts:18
↓ 5 callersMethodgetStatus
()
src/ai/patrol.ts:21
↓ 5 callersMethodlistRecordings
(cameraId?: string, since?: number, until?: number)
src/observer/frame-prep.ts:12
↓ 5 callersFunctionloadConfig
(configPath?: string)
src/config.ts:143
↓ 5 callersFunctionlocalTimestamp
本地时间格式化为 YYYY-MM-DD_HH-MM-SS
src/storage/export.ts:9
↓ 5 callersMethodregisterExport
注册导出文件到索引
src/storage/export.ts:374
↓ 5 callersMethodregisterFile
注册文件(写入/创建后调用)
src/storage/file-index.ts:126
↓ 5 callersMethodrowToEntry
将数据库行转为 FileEntry
src/storage/file-index.ts:315
↓ 5 callersMethodrunFfmpeg
异步执行 ffmpeg 命令
src/storage/export.ts:386
↓ 4 callersFunctionbackendUrl
(path: string)
web/src/services/backend.ts:25
↓ 4 callersMethoddeleteAllFiles
* 删除某个 category 下所有文件并清理索引 * @returns 删除的文件数量
src/storage/storage-fs.ts:266
↓ 4 callersMethoddeleteExpiredFiles
* 批量删除某个 category 下的过期文件 * @returns 删除的文件数量
src/storage/storage-fs.ts:238
↓ 4 callersMethodgetContextFrames
(cameraId: string, now: number, intervalMs: number, maxFrames?: number)
src/observer/frame-prep.ts:11
↓ 4 callersMethodgetDirName
从相对路径提取一级子目录名
src/storage/storage-fs.ts:305
↓ 4 callersMethodgetLatestFrame
(cameraId: string)
src/observer/types.ts:104
↓ 4 callersMethodgetOrCreateState
获取或创建摄像头录像状态
src/storage/recorder.ts:736
↓ 4 callersFunctiongetPref
(key: string, defaultValue?: T)
web/src/composables/usePreferences.ts:56
↓ 4 callersMethodgetSignal
获取单个信号
src/signal/store.ts:162
↓ 4 callersMethodgetSnapshotPath
获取快照文件路径
src/storage/tracks.ts:288
↓ 4 callersMethodgetTrack
获取单个追踪目标
src/storage/tracks.ts:332
↓ 4 callersMethodinvalidateListCache
使 listTracks 缓存失效
src/storage/tracks.ts:282
↓ 4 callersMethodreloadConfig
热重载配置
src/camera/manager.ts:168
↓ 4 callersFunctionremoveOld
(sb: SourceBuffer)
web/src/composables/useFmp4Stream.ts:380
↓ 4 callersFunctionsetPref
(key: string, value: unknown)
web/src/composables/usePreferences.ts:89
↓ 4 callersFunctionshow
(message: string, type: ToastItem['type'] = 'info', duration = DEFAULT_DURATION)
web/src/composables/useToast.ts:24
↓ 4 callersMethodstartCamera
启动单个摄像头
src/camera/manager.ts:217
↓ 4 callersFunctiontoChatCompletionsUrl
将用户配置的 LLM 地址规范化为 chat/completions 端点
src/api/index.ts:40
↓ 4 callersFunctionwithConfigLock
(fn: () => Promise<T>)
src/config.ts:10
↓ 3 callersMethodabsoluteMove
( position: { x?: number; y?: number; zoom?: number }, speed?: { x?: number; y?: number; zoom?: number
src/ptz/index.ts:68
↓ 3 callersMethodcachePath
向路径缓存添加条目,超限时淘汰最旧
src/storage/snapshots.ts:39
↓ 3 callersFunctioncheckAuth
(config: AuthConfig, req: Request)
src/auth.ts:14
↓ 3 callersFunctioncleanup
()
src/api/index.ts:804
↓ 3 callersMethodclear
清空所有监听器
src/event-bus.ts:455
↓ 3 callersMethodclearWatchdog
清除看门狗定时器
src/camera/h264-fmp4-muxer.ts:937
↓ 3 callersMethodclearWatchdog
()
src/camera/jpeg-extractor.ts:285
↓ 3 callersMethodcomputeAppearanceDistance
* 计算综合外观距离(dHash + 颜色 + LBP 三维特征融合) * 权重:dHash 0.35 + 颜色 0.35 + LBP 0.30 * 缺少某个特征时,其权重分配给已有特征
src/storage/tracks.ts:705
↓ 3 callersFunctionconcat2
O(1) 快速拼接两个 Buffer(避免 Buffer.concat 对 2 元素数组的迭代开销)
src/camera/h264-fmp4-muxer.ts:77
↓ 3 callersMethodconnect
连接
web/src/services/events.ts:110
↓ 3 callersMethodcontinuousMove
( velocity: { x?: number; y?: number; zoom?: number }, timeout?: number, )
src/ptz/index.ts:63
↓ 3 callersMethodcountByTrackId
* 批量统计所有追踪目标的行为事件数量 * 使用 SQLite json_extract 直接在 SQL 层聚合,避免全量加载到 JS 内存
src/storage/events.ts:229
↓ 3 callersMethodcropAndSave
从帧中裁剪目标区域并保存为快照
src/storage/tracks.ts:905
↓ 3 callersMethodensureLoaded
从 SQLite 加载到内存缓存
src/storage/disk-usage.ts:63
↓ 3 callersMethodfeed
处理一块数据,返回完整帧列表
src/camera/jpeg-extractor.ts:28
↓ 3 callersMethodfindSnapshotPath
根据 cameraId + timestamp 查找对应的快照相对路径(优先内存缓存)
src/storage/snapshots.ts:206
↓ 3 callersMethodfinishRecording
结束录像:关闭 writer,注册文件索引
src/storage/recorder.ts:532
↓ 3 callersMethodforceClose
强制关闭(不等 ffmpeg 优雅退出)
src/storage/fmp4-writer.ts:141
↓ 3 callersMethodforceStop
立即强制停止录像
src/storage/recorder.ts:621
↓ 3 callersMethodgetById
按 ID 获取 ROI
src/storage/roi.ts:64
↓ 3 callersMethodgetFfmpegPath
获取 ffmpeg 路径
src/camera/manager.ts:56
next →1–100 of 788, ranked by callers