fix: trace debug info panel moved to bottom-left corner
This commit is contained in:
@@ -371,22 +371,24 @@ async fn trace_video(
|
|||||||
|
|
||||||
// Build drawtext entries
|
// Build drawtext entries
|
||||||
let mut parts: Vec<String> = Vec::new();
|
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!(
|
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!(
|
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!(
|
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",
|
"drawtext=text='{}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}", file_uuid, bh - 74
|
||||||
frame_offset, frame_offset, fps_str
|
|
||||||
));
|
));
|
||||||
|
|
||||||
// Per-trace entries: show trace_id, start_frame, identity name
|
// Per-trace entries: show trace_id, start_frame, identity name
|
||||||
// Position starts at y=78, increments by 22 per trace
|
// Stack upward from y=bh-96
|
||||||
let mut y_pos = 78;
|
let mut y_pos = bh - 96;
|
||||||
for (tid, frames) in &sorted_traces {
|
for (tid, frames) in &sorted_traces {
|
||||||
let start = frames.iter().min().unwrap_or(&first_frame);
|
let start = frames.iter().min().unwrap_or(&first_frame);
|
||||||
let identity = trace_identity.get(tid).map(|s| s.as_str()).unwrap_or("unknown");
|
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='{}'",
|
"drawtext=text='{}':fontsize=14:fontcolor=white:box=1:boxcolor=black@0.6:x=10:y={}:enable='{}'",
|
||||||
label, y_pos, enable
|
label, y_pos, enable
|
||||||
));
|
));
|
||||||
y_pos += 22;
|
y_pos -= 22;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Green thin bounding boxes with trace_id label for each face detection
|
// Green thin bounding boxes with trace_id label for each face detection
|
||||||
|
|||||||
Reference in New Issue
Block a user