Skip to content

align

Show what every device captured around a file's corrected time.

media-ingest align [OPTIONS] FILE

iPhones set their clock and timezone automatically, so iPhone media is the ground-truth clock for a trip. align takes any file, usually a DJI clip or a mic recording you are unsure about, and lists everything captured near it in corrected local time, with iPhone rows highlighted. If a neighboring iPhone photo shows a different scene than the clip you are checking, a timezone offset is wrong somewhere.

align is read-only. It reads .ingest/manifest.json, so you must have run scan first.

Arguments

  • FILE is the file to center on. You can pass the bare filename (DJI_20260316184422_0105_D.MP4), a path suffix, or any unique substring of a path. If the substring matches more than one file, align lists the candidates so you can disambiguate.

Options

  • --window is the number of minutes of context to show on each side. Defaults to 10.0.
  • --root points at a specific project directory.

Example

media-ingest align DJI_20260316184422_0105_D.MP4
Target: DCIM/DJI_20260316184422_0105_D.MP4 at 2026-03-16 18:44:22 local

  Δ  Local time  Device         File                    
────────────────────────────────────────────────────────────
 -47s  18:43:35  iphone-photo   IMG_4820.HEIC
   0s  18:44:22  dji-pocket3    DJI_..._0105_D.MP4   ◀ target
  +18s  18:44:40  dji-mic        TX00_MIC001_..._orig.WAV  overlaps
  +88s  18:45:50  iphone-video   IMG_4821.mov            overlaps

green rows are iPhone media (trusted clock). Open one and compare scenes.

Each row shows the signed time delta from the target, the corrected local time, the device, and the filename. iPhone rows are printed in green because they are the trusted reference. Rows whose clip duration overlaps the target's time span are marked overlaps, which is how you confirm that a mic recording really belongs to a given camera clip.

How to read it

Open the target clip and the nearest green (iPhone) capture side by side. If they show the same moment, the target's corrected time is right. If the iPhone photo from "47 seconds before" is clearly a different scene, then the offset applied to the target is wrong, most likely because the trip timezone in ingest.toml does not match what that camera's clock was actually set to. Fix the timezone (or investigate the camera), re-run plan, and check again.

This is the manual counterpart to the automatic timezone cross-check: the cross-check flags a suspicious offset, and align lets you confirm it by eye.