fix: trace debug info panel moved to bottom-left corner

This commit is contained in:
Accusys
2026-05-14 15:20:05 +08:00
parent 94122f5371
commit cfb0cfbb37

View File

@@ -371,22 +371,24 @@ async fn trace_video(
// Build drawtext entries
let mut parts: Vec<String> = Vec::new();
let bh = _height as i32;
// Static header
// Bottom-left info panel (y=h-N positions from bottom up)
// Frame/time at the very bottom
parts.push(format!(
"drawtext=text='File UUID: {}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y=12", file_uuid
"drawtext=text='Frame: %{{eif:n+{}:d}} Time: %{{eif:(n+{})*100/{}:d}}s':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}",
frame_offset, frame_offset, fps_str, bh - 30
));
parts.push(format!(
"drawtext=text='Cut: {}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y=34", cut_id
"drawtext=text='Cut: {}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}", cut_id, bh - 52
));
parts.push(format!(
"drawtext=text='Frame: %{{eif:n+{}:d}} Time: %{{eif:(n+{})*100/{}:d}}s':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y=56",
frame_offset, frame_offset, fps_str
"drawtext=text='{}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}", file_uuid, bh - 74
));
// Per-trace entries: show trace_id, start_frame, identity name
// Position starts at y=78, increments by 22 per trace
let mut y_pos = 78;
// Stack upward from y=bh-96
let mut y_pos = bh - 96;
for (tid, frames) in &sorted_traces {
let start = frames.iter().min().unwrap_or(&first_frame);
let identity = trace_identity.get(tid).map(|s| s.as_str()).unwrap_or("unknown");
@@ -399,7 +401,7 @@ async fn trace_video(
"drawtext=text='{}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}:enable='{}'",
label, y_pos, enable
));
y_pos += 22;
y_pos -= 22;
}
// Green thin bounding boxes with trace_id label for each face detection