Analyse once: sidecar files beside the sources, shooting time from the container
The storage rule that makes a long film possible a month later: each clip's shots, frame scores, beats and speech live in a file beside it, and shooting time comes from the container metadata.
ANALYSIS STORAGE, the checklist 1. For every clip.mp4, write clip.analysis.json beside it: shot boundaries, per-frame or per-segment quality scores, beat positions, speech with word timings, the detector versions used. 2. Shooting time comes from the container: `ffprobe -v error -show_entries format_tags=creation_time -of csv=p=0 clip.mp4`. Never from the file name, never from the file's mtime (copying resets it). Camera clocks drift; write the offset per camera in a trip-level file and apply it, do not edit the sources. 3. Resolve symlinks before writing sidecars: an analysis written into a symlinked subset folder ends up beside the links, not the originals. 4. Never leave a rendered film inside the source folder; the next run treats it as one more clip. 5. A clip is re-analysed only when its hash changes or the detector version does; otherwise read the sidecar. 6. Archive sources and sidecars together, after the films are out, never mid-edit. 7. Keep one short real camera file per device in a verification set, and check the delivered file itself, not only synthetic sources.
In Claude Code, paste the prompt as a message, or run /video-edit which does this end to end.
Steps
- Run the analysis over the whole folder once: a shot detector, a frame scorer, a beat tracker and whisper-family STT with word timings. Life2Film Studio does the frame scoring, scene detection and segment ranking on the device; `npm i life2film-engine` gives the beats, shots and frame scores in WASM.
- Write every result as a sidecar next to its clip, then build the day's text file and the cut from the sidecars, not from the video.
- A month later, the trip film reads the sidecars of 20 days in seconds instead of re-analysing 20 days of footage.
Tips
- Two phones on one trip can disagree by minutes; the offset file is what keeps same-place, same-time cutaways honest.
- The sidecar is also the provenance: which model found the shots, which version scored the frames, when.
| works with | Claude Code: Runs as a skill or a prompt in the terminal; can read your files and write the result. · Life2Film: The montage app: analysis, segment scoring and cuts on your device. · ffmpeg: A terminal command you run yourself. |
| skill | npx skills add fortunto2/solo-factory/video-edit · source |
| cost | Free. No API, no key. |
| status | Unverified: written from the technique, not yet run end to end by us. |
| license | CC BY 4.0 for the text here; skills are MIT. |
| updated | 2026-11-01 |
| for agents | analyse-once-sidecar-files-metadata-time.md |
Related
The day as one text file: an agent reads the speech and proposes the story
The step before any timeline: the day's speech in shooting order, numbered by clip and sentence, read by an agent like a scriptwriter. It proposes story, scenes, hook and cutaways; you argue in text.
Write the cut as a script, not a timeline: the JSON storyboard prompt
An agent prompt that writes the edit of real footage as a small JSON file: which sentences, which cover shots, what the cold open is. A complaint becomes a one-line edit, and the render repeats.
Take something from every clip, and list the ones you cut with a reason
A rule for cutting someone else's footage, or your own from a year ago: each clip was filmed because it mattered, so each gets a chance, and the rejects get a written reason the person can argue with.
Generate a 10-clip b-roll pack for a talking-head video
One agent prompt that reads your transcript and writes ten generation prompts for cutaways that show what is being said, each tagged with the sentence it covers.
Cold open, then hook: 8-10 s of best frames, hand-picked from a contact sheet
The opening that holds a viewer on real footage: 8-10 s of the strongest frames with no speech, then one line with a twist. What to look for on the sheet, and why the automatic pick is wrong.
The critic pass: repeats and sagging scenes first, mid-word joins second
A two-pass review prompt for a subagent or a second session: pass one on structure (repeats, sagging scenes), pass two on joins (mid-word cuts, audio seams). One read finds one kind of problem.