How Left ↔ Right pairing works

Every person wears two cameras (a Left and a Right). This metric checks, from the recording timestamps alone, which Left clip lines up with which Right clip — no video is opened.

The idea

Each recording has a start time and a duration (read from the file header). For one device, we lay its Left recordings and its Right recordings on the same timeline. Two clips are the same job when they were rolling at the same time — so we link every Left clip with every Right clip it overlaps. A clip can map to one, two, or many counterparts — all mapping possibilities are kept, none are forced into a single pair.

Diagram 1 — the simple case: one Left ↔ one Right

09:00 time → 09:40 LEFT RIGHT L1 L2 L3 R1 R2 match match no Right → wasted
Left recording Right recording Good = both rolling (paired hours) Unmapped = only one camera (wasted)

Diagram 2 — chunked recordings: one video can map to many

Cameras restart mid-session, so one side often records in chunks. A long Left maps to all the Right chunks inside it (1↔N); two Lefts can share one long Right (N↔1). All the linked clips together = one session.

LEFT RIGHT L1 — one long video R1 R2 map map gap = wasted 1 Left ↔ 2 Right chunks = ONE session (1↔N) L2 L3 R3 — one long video map map 2 Left ↔ 1 Right = ONE session (N↔1)
Overlap = good paired time (each chunk's overlap counted once) Gap between chunks = wasted (only one side rolling)

And if overlaps chain — say R2 above also stretched into L2's time — all five clips would merge into one bigger M↔N session. The table shows how many sessions of each shape (1:1 · 1↔N · N↔1 · M↔N) every device has.

Step by step

  1. Group every recording by device id (one person's camera set), split into Left and Right.
  2. Link every Left clip with every Right clip it overlaps in time — all mapping possibilities are kept. One long Left can map to several Right chunks (1↔N), several Lefts can share one long Right (N↔1), and chained overlaps join into bigger groups (M↔N).
  3. All clips connected through these links form one session — “these recordings are the same job”. The session-shape counts (1:1 · 1↔N · N↔1 · M↔N) are shown per device.
  4. Green = good paired hours: the moments both cameras truly rolled together. Counted once — when a Left overlaps two Right chunks, the shared time is never double-counted.
  5. A clip with no counterpart at all is unmapped → wasted single-camera time. Gaps between chunks (camera restarted) also count as wasted, because only one side was rolling there.
  6. Coverage = good paired hours ÷ total recorded hours. Near 100% means both cameras almost always ran together; a low number means one side was often recording alone.

Note: mapping is by time overlap, not clip length — there is no fixed “15-minute” rule, and no clip is limited to a single partner. A 2-minute Left overlapping a 2-minute Right still maps; a 30-minute Left overlapping five Right chunks maps to all five.

Worked example — device AWG001, one morning

LeftRightMappingsResult
L1 · 09:00–09:30 R1 · 09:01–09:14
R2 · 09:15–09:29
L1↔R1 (13 min)
L1↔R2 (14 min)
✓ ONE session (1↔N) — 27 min good; the 09:14–09:15 chunk gap is wasted
L2 · 09:35–09:40
L3 · 09:41–09:47
R3 · 09:36–09:46 L2↔R3 (4 min)
L3↔R3 (5 min)
✓ ONE session (N↔1) — 9 min good
L4 · 09:50–09:56 — none — ✗ unmapped — 6 min wasted

2 sessions (one 1↔N, one N↔1), 4 mapping links, 6 mapped videos (L1–L3, R1–R3), 1 unmapped (L4).
Good = 13 + 14 + 4 + 5 = 36 min · Wasted = chunk gaps + solo edges (6 min) + L4 (6 min) = 12 min · Coverage = 36 ÷ 48 = 75%.

The hour-of-day strip below the table takes all that green “good paired” time and sorts it into which hour of the day (IST) it happened — so you can see when the good dual-camera footage was actually captured.

AWIGNProject Baahubali · Warehouse Data Pilot
LIVE --:--:--IST