fix(fam-edge): 事件时间戳改相对时间定位 - prompt 要求输出视频内相对时间 HH:MM:SS(模型对相对位置判断更准),后端按 开始时间+偏移 精确计算绝对时间落库;事件截图直接用偏移跳帧,消除模型绝对时间推算误差导致的图文不符
This commit is contained in:
@@ -246,7 +246,7 @@ class NvidiaVisionAdapter(BaseModelAdapter):
|
||||
def _build_video_prompt(self, known_members: str, event_start_time: str) -> str:
|
||||
start_hint = ""
|
||||
if event_start_time:
|
||||
start_hint = f"\n视频开始时间(北京时间)约为:{event_start_time}。请据此推算每个事件的绝对时间戳。"
|
||||
start_hint = f"\n视频开始时间(北京时间)约为:{event_start_time}。"
|
||||
return f"""你是家庭监控视频分析助手。下面是一段完整监控录像(已整段上传)。
|
||||
请观看整段视频,提取其中有用的信息,只输出合法 JSON(不要 markdown、不要解释),结构如下:
|
||||
|
||||
@@ -254,7 +254,7 @@ class NvidiaVisionAdapter(BaseModelAdapter):
|
||||
"global_summary": "整个时段的整体摘要,简体中文,2-4 句",
|
||||
"events": [
|
||||
{{
|
||||
"timestamp": "事件发生时的绝对北京时间(YYYY-MM-DD HH:MM:SS)",
|
||||
"timestamp": "事件在视频内的相对时间点(格式 HH:MM:SS,从视频开头 00:00:00 算起)",
|
||||
"description": "该时刻画面/动作信息摘要",
|
||||
"people": ["出现在该时刻的人物,用已知成员真名或'人物A'"],
|
||||
"is_attention_event": false
|
||||
@@ -265,7 +265,7 @@ class NvidiaVisionAdapter(BaseModelAdapter):
|
||||
|
||||
规则:
|
||||
1. 只描述客观画面,不猜测。
|
||||
2. events 提取有意义的时间点(人物出现/动作变化/异常),timestamp 用绝对北京时间。
|
||||
2. events 提取有意义的时间点(人物出现/动作变化/异常),timestamp 必须是"视频内相对时间"(如 00:05:23 表示视频开始后 5 分 23 秒),不要输出绝对日期时间。
|
||||
3. 已知家庭成员(按特征匹配,匹配到用 real_name,否则用"人物X"):
|
||||
{known_members or '(暂无已知成员)'}
|
||||
4. is_attention_event:跌倒、危险、异常哭闹等需关注事件(没有则为 false)。"""
|
||||
|
||||
Reference in New Issue
Block a user