media-ingest¶
Safe, reviewable renaming and organization of multi-camera trip media for DaVinci Resolve projects.
After a trip, raw media from iPhones, DJI Osmo cameras, and DJI mics lands in a project folder with device-native names and a mess of timezone conventions. media-ingest renames everything to a consistent YYYY-MM-DDTHHMMSS - Device - id.ext scheme, organized into per-day folders, so that sorting by filename gives perfect chronological order across every device.
Why not just a rename script¶
Renaming a couple thousand vacation files in one shot is error prone. DJI devices store UTC in metadata while their filenames and the DJI Mic use local time, iPhones are timezone-aware and switch zones automatically mid-trip, and two identical iPhone models can collide on the same second. A single mistake bakes a wrong offset into hundreds of filenames.
media-ingest splits the job into read-only steps you can review, then makes the one destructive step journaled and reversible. Nothing moves until you have looked at a plan and an HTML timeline report and decided it is correct.
The workflow¶
initwrites a config file at the project root.scanreads metadata and hashes for every raw file. Read-only.plancomputes the renames, warnings, and an HTML timeline report. Read-only.alignshows what every device captured around a given clip, using iPhone media as the trusted clock.applyperforms journaled, idempotent, same-volume renames.undoreplays the journal in reverse.reportregenerates the HTML report from the existing plan.
Where to go next¶
- Getting started walks the full workflow on a real project.
- Commands documents every command with realistic examples.
- Safety model explains how apply, undo, and idempotency protect your files.
- Timezone model explains the one-timezone-per-trip naming policy.
- Timeline report is a tour of the HTML QC report.
- Troubleshooting and FAQ covers warnings, excluded files, and unknown devices.