Add continuity report with per-junction gaps and copy-pasteable runs

When a clip boundary's audio doesn't match, print a full table of every
junction (capture-time gap, confidence, verdict) plus the input clips
grouped into continuous runs, each formatted as a ready-to-paste clip
list -- so a discontinuous batch can be immediately re-run on just the
subset that's actually one sequence, without manually diffing timestamps.
This commit is contained in:
2026-07-26 12:53:54 -04:00
parent ac3bdbcfe9
commit ffafb46d78
2 changed files with 104 additions and 12 deletions
+22
View File
@@ -98,3 +98,25 @@ Three outcomes:
as evidence the clips aren't actually a continuous sequence, and the run
aborts with an error before any encoding happens. Pass
`--allow-discontinuous` to concatenate them anyway.
If any boundary is a confident mismatch, a continuity report is printed
before aborting: a table of every junction (gap between capture times,
confidence, verdict), followed by the clips broken into continuous runs —
each printed as a ready-to-paste clip list so you can immediately re-run on
just the subset that's actually one sequence. For example:
```
Continuity report:
junction gap confidence verdict
IMG_2449.MOV -> IMG_2450.MOV 3s 0.216 NO MATCH
IMG_2450.MOV -> IMG_2451.MOV 15s 0.134 NO MATCH
IMG_2451.MOV -> IMG_2452.MOV 3s 1.000 match
IMG_2452.MOV -> IMG_2453.MOV 1s 1.000 match
IMG_2453.MOV -> IMG_2454.MOV 4s 0.590 NO MATCH
Continuous runs (copy-paste to re-run on just that subset):
Run 1 (1 clip): IMG_2449.MOV -- nothing to concatenate on its own
Run 2 (1 clip): IMG_2450.MOV -- nothing to concatenate on its own
Run 3 (3 clips): IMG_2451.MOV IMG_2452.MOV IMG_2453.MOV
Run 4 (1 clip): IMG_2454.MOV -- nothing to concatenate on its own
```