mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-04 18:25:22 +03:00
Store better data
This commit is contained in:
parent
f2d8298337
commit
ea3e7004ba
@ -33,7 +33,7 @@ from playhouse.shortcuts import model_to_dict
|
|||||||
|
|
||||||
from frigate.config import FrigateConfig
|
from frigate.config import FrigateConfig
|
||||||
from frigate.const import CLIPS_DIR, MAX_SEGMENT_DURATION, RECORD_DIR
|
from frigate.const import CLIPS_DIR, MAX_SEGMENT_DURATION, RECORD_DIR
|
||||||
from frigate.models import Event, Recordings
|
from frigate.models import Event, Recordings, Timeline
|
||||||
from frigate.object_processing import TrackedObject
|
from frigate.object_processing import TrackedObject
|
||||||
from frigate.stats import stats_snapshot
|
from frigate.stats import stats_snapshot
|
||||||
from frigate.util import (
|
from frigate.util import (
|
||||||
@ -414,6 +414,32 @@ def event_thumbnail(id, max_cache_age=2592000):
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/timeline")
|
||||||
|
def timeline():
|
||||||
|
camera = request.args.get("camera", "all")
|
||||||
|
|
||||||
|
limit = request.args.get("limit", 100)
|
||||||
|
|
||||||
|
clauses = []
|
||||||
|
|
||||||
|
selected_columns = [
|
||||||
|
Timeline.timestamp,
|
||||||
|
Timeline.camera,
|
||||||
|
Timeline.source,
|
||||||
|
Timeline.source_id,
|
||||||
|
Timeline.class_type,
|
||||||
|
Timeline.data,
|
||||||
|
]
|
||||||
|
|
||||||
|
timeline = (
|
||||||
|
Timeline.select(*selected_columns)
|
||||||
|
.order_by(Timeline.timestamp.asc())
|
||||||
|
.limit(limit)
|
||||||
|
)
|
||||||
|
|
||||||
|
return jsonify([model_to_dict(t) for t in timeline])
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/<camera_name>/<label>/best.jpg")
|
@bp.route("/<camera_name>/<label>/best.jpg")
|
||||||
@bp.route("/<camera_name>/<label>/thumbnail.jpg")
|
@bp.route("/<camera_name>/<label>/thumbnail.jpg")
|
||||||
def label_thumbnail(camera_name, label):
|
def label_thumbnail(camera_name, label):
|
||||||
|
|||||||
@ -63,10 +63,11 @@ class TimelineProcessor(threading.Thread):
|
|||||||
source_id=event_data["id"],
|
source_id=event_data["id"],
|
||||||
class_type="visible",
|
class_type="visible",
|
||||||
data={
|
data={
|
||||||
"region": event_data["region"],
|
|
||||||
"box": event_data["box"],
|
"box": event_data["box"],
|
||||||
|
"label": event_data["label"],
|
||||||
|
"region": event_data["region"],
|
||||||
},
|
},
|
||||||
)
|
).execute()
|
||||||
elif (
|
elif (
|
||||||
event_type == "update"
|
event_type == "update"
|
||||||
and prev_event_data["current_zones"] != event_data["current_zones"]
|
and prev_event_data["current_zones"] != event_data["current_zones"]
|
||||||
@ -78,11 +79,12 @@ class TimelineProcessor(threading.Thread):
|
|||||||
source_id=event_data["id"],
|
source_id=event_data["id"],
|
||||||
class_type="entered_zone",
|
class_type="entered_zone",
|
||||||
data={
|
data={
|
||||||
"region": event_data["region"],
|
|
||||||
"box": event_data["box"],
|
"box": event_data["box"],
|
||||||
|
"label": event_data["label"],
|
||||||
|
"region": event_data["region"],
|
||||||
"zones": event_data["current_zones"],
|
"zones": event_data["current_zones"],
|
||||||
},
|
},
|
||||||
)
|
).execute()
|
||||||
elif event_type == "end":
|
elif event_type == "end":
|
||||||
Timeline.insert(
|
Timeline.insert(
|
||||||
timestamp=event_data["frame_time"],
|
timestamp=event_data["frame_time"],
|
||||||
@ -91,7 +93,8 @@ class TimelineProcessor(threading.Thread):
|
|||||||
source_id=event_data["id"],
|
source_id=event_data["id"],
|
||||||
class_type="gone",
|
class_type="gone",
|
||||||
data={
|
data={
|
||||||
"region": event_data["region"],
|
|
||||||
"box": event_data["box"],
|
"box": event_data["box"],
|
||||||
|
"label": event_data["label"],
|
||||||
|
"region": event_data["region"],
|
||||||
},
|
},
|
||||||
)
|
).execute()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user