mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-09 12:45:25 +03:00
Increase efficiency
This commit is contained in:
parent
e77836b3e3
commit
ef05f10b44
@ -77,22 +77,39 @@ export function useCameraMotionTimestamps(
|
|||||||
) {
|
) {
|
||||||
const timestamps = useMemo(() => {
|
const timestamps = useMemo(() => {
|
||||||
const seekableTimestamps = [];
|
const seekableTimestamps = [];
|
||||||
|
let lastEventIdx = 0;
|
||||||
|
let lastMotionIdx = 0;
|
||||||
|
|
||||||
for (let i = timeRange.after; i <= timeRange.before; i += 0.5) {
|
for (let i = timeRange.after; i <= timeRange.before; i += 0.5) {
|
||||||
if (!motionOnly) {
|
if (!motionOnly) {
|
||||||
seekableTimestamps.push(i);
|
seekableTimestamps.push(i);
|
||||||
} else {
|
} else {
|
||||||
if (
|
const relevantEventIdx = events.findIndex((seg, segIdx) => {
|
||||||
events.find((seg) => seg.start_time <= i && seg.end_time >= i) !=
|
if (segIdx < lastEventIdx) {
|
||||||
undefined
|
return false;
|
||||||
) {
|
}
|
||||||
|
|
||||||
|
return seg.start_time <= i && seg.end_time >= i;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (relevantEventIdx != -1) {
|
||||||
|
lastEventIdx = relevantEventIdx;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const relevantMotion = motion.find(
|
const relevantMotionIdx = motion.findIndex((mot, motIdx) => {
|
||||||
(mot) => mot.start_time <= i && mot.start_time + 15 >= i,
|
if (motIdx < lastMotionIdx) {
|
||||||
);
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mot.start_time <= i && mot.start_time + 15 >= i;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (relevantMotionIdx == -1 || motion[relevantMotionIdx].motion == 0) {
|
||||||
|
if (relevantMotionIdx != -1) {
|
||||||
|
lastMotionIdx = relevantMotionIdx;
|
||||||
|
}
|
||||||
|
|
||||||
if (!relevantMotion || relevantMotion.motion == 0) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user