BodyPlus XPro

דיבאג וידאו / מצלמות

0 0 Version: dev
Engineering debug Engineering debug

Video and sync debug lane

Use this narrower lane for capture, MJPEG, and multi-camera investigation before opening the full Debug hub.

This page stays internal and is intended for narrower video, transport, and synchronization issues.

Capture and MJPEG first

Confirm the stream path before reading advanced timing or sync detail.

Sync second

Use multi-camera diagnostics only after the stream itself is known-good.

Hub only if needed

Escalate to the full Debug Hub only when this lane points to a wider issue.

מצב דיבאג
פועל (ON)
כשדיבאג כבוי, פאנלי הווידאו וה-Multi-Cam מושבתים כדי לחסוך משאבי מחשוב. אפשר להדליק לזמן קצר כשצריך לחקור בעיית וידאו/מצלמות, ואחר כך לכבות שוב.
דיבאג וידאו מאוחד
כלי הווידאו והסנכרון מרוכזים כאן. כתובת ישירה: /debug/video/multicam.
הלשוניות נטענות רק כשפותחים אותן כדי לחסוך משאבי CPU. אפשר לעבור בין רשת חיה, Sync Bars, סטטיסטיקות זרם והגדרות לפי הצורך.
כלי דיבאג מתקדמים (אופציונלי)
📹 מעבד דיבאג וידאו
עמוד רזה לדיבאג שרשרת הווידאו בלבד: Video / FrameBus / MPR + Multi-Cam Sync.
⚠️ בעמוד הזה אין טעינת סטרימים MJPEG כדי לא להפיל סטרימים קיימים.
VideoDebug + MultiCamDebug + client-debug (אם קיים).
last refresh:
רענון מתבצע בצורה סדרתית (לא במקביל) כדי להימנע מ-timeouts בזמן שיש סטרימי MJPEG פתוחים בטאבים אחרים.
📹 Video / FrameBus / MPR Debug
דיבאג מרוכז למערכת הווידאו: ingest / FrameBus / MPR / payload.
מצב וידאו: לא נבדק
Stream / FrameBus: —
MPR: —
Payload / Bridge: —
ts:
משתמש ב-/api/video/status, /api/framebus/status, /api/mpr/status, /api/video/debug.
Stream / FrameBus
// עדיין לא נטען סטטוס וידאו
MediaPipeRunner (MPR)
{}
ENV / Config
{}
בעיות מזוהות (Problems)
  • עדיין לא נטען Snapshot.
מצלמות (Multi-Cam) — ללא סטרימים
מציג רק מטא-דאטה. אין טעינת MJPEG כדי לא להפיל סטרימים.
Performance
CPU OK
CPU (proc): לא זמין
RSS: לא זמין
Top CPU: לא זמין
Pressure: לא זמין
raw_fps: לא זמין | frame_age_ms: לא זמין
queue_depth: לא זמין | drops_total: לא זמין
last_fused_age_ms: לא זמין | multi_view_fused_total: לא זמין
ts cpu% rss_mb top
JSON Debug (Video Snapshot)
// עדיין לא נטען /api/video/debug
Capture/Sync Debug
Status, faults, and opt-in graphs for capture/sync.
Full JSON includes payload_status, payload_last, video_status, video_debug, framebus_status, and mpr_cam_status.
mode
לא זמין
active_views
לא זמין
canonical_source
לא זמין
video_health cause
לא זמין
last_fused_age_ms
לא זמין
sync_delta_ms_p95
לא זמין
paired_fps
לא זמין
payload_age_ms
לא זמין
micro_buffer.select_mode
לא זמין
micro_buffer.window_ms
לא זמין
micro_buffer.hits
לא זמין
micro_buffer.misses
לא זמין
Active faults (severity + evidence)
severity type confidence evidence last_seen_ms
No active faults.
Graphs (opt-in)
Graphs are disabled by default and only render when enabled.
Metric glossary
metric what it means when it is bad what to do next
mode Capture mode derived from active views. Idle while cams are expected. Start cams and verify active_views.
active_views Views seen within staleness window. Missing expected cam(s). Check cam health and staleness.
canonical_source Whether fused or per-view payload is used. Per-view while multi is expected. Check sync stats and fused age.
video_health.cause Health cause chosen by evidence. Non-ok cause persists. Inspect faults list and evidence.
last_fused_age_ms Age of most recent fused pair. Above fused age threshold. Check sync delta and cam age.
sync_delta_ms_p95 p95 delta between paired frames. Exceeds max skew. Review skew violations.
sync_delta_ms_last Latest delta between paired frames. Large spikes or erratic values. Check current skew and pairing policy.
paired_fps Fused output rate in the window. Drops below expected. Check raw fps and queues.
payload_age_ms Age of last payload snapshot. Exceeds stale threshold. Check ingest and MPR status.
cam_health.raw_fps Per-cam raw capture FPS. Very low or zero. Check camera source and decode load.
cam_health.frame_age_ms Per-cam frame age at capture. High or growing over time. Check stalls, queues, and backpressure.
cam_health.queue_depth Per-cam queue pressure. Depth grows or stays high. Reduce ingest rate or increase capacity.
cam_health.drops_total Per-cam dropped frames. Spikes or sustained growth. Inspect backpressure and capture health.
micro_buffer.* Micro-buffer window and hit/miss stats. Missing when enabled or misses spike. Verify MC_MICRO_BUFFER_* config.
cpu_process_pct Process CPU utilization. High for sustained periods. Reduce load or enable scaling.
mem_rss_mb Resident memory usage. Grows steadily or spikes. Check leaks or reduce buffers.
cpu_by_component CPU grouped by thread name patterns. Sync may show under other if thread name is not tagged. Use named sync thread when available or treat other as sync.
queue_depth / drops_total Queue pressure and dropped frames. High depth or drops spike. Inspect backpressure or codec load.
Raw JSON
payload_status
{}
video_status
{}
🎛️ Multi-Cam Sync Debug — סנכרון בין מצלמות
דיבאג לסנכרון: state / last_fused / flush + Diagnosis / Hook / Router / ENV.
טיפ: אם יש סטרימי MJPEG פתוחים בטאבים אחרים, ה-state עלול להיות איטי — לכן זמן ההמתנה כאן ארוך יותר.
מצב סנכרון: לא נבדק
API: /admin/multi_cam_debug/state · /last_fused · /flush · /env · /router_state
last_fused source:
cam_id
כדי “למשוך את כל הדאטה”: כבה Lite, ואז רענן state.
Views:
Skew:
Drops / Violations:
מצב:
Last emit ts:
Views / primary
Config
Frames / Skew
סטטיסטיקות Multi-Cam (stats)
Key Value Description
— עדיין לא נטען state —
buffers per view (state.buffers)
// אין מידע buffers
JSON מלא של state
// state ריק או שגוי
Diagnosis (מה לעשות עכשיו)
Diagnosis: —
// diagnosis: []
Hook Stats (חיבורים לגשר)
Hook Stats: —
// hook_stats: null
FrameBus Debug (debug_extra.framebus)
FrameBus: —
// framebus: null
Payload Multi-Cam (debug_extra.payload_multi_cam)
Payload: —
// payload_multi_cam: null
Imports (debug_extra.imports)
Imports: —
// imports: null
ID Normalization (id_norm)
ID Norm: —
// id_norm: null
Router State (bridge router)
Router State: —
// router_state: null
ENV (Multi-Cam)
ENV: —
// env: null
Last Fused Payload (תצוגה)
// אין פיילוד מאוחד אחרון
debug.multi_cam_metric_src
// אין debug.multi_cam_metric_src
Client Debug (stream/capture)
// client_debug: null