long-form story pipeline · Krishna — Nanha Mor

LONG FORM

A five-minute film shown as its own three-hundred-frame strip, then a push into one second of it.

Master 74s1920×108030 fps -18.2 LUFS-3.1 dBTP sha 874e7ba6fb56

The numbers

Every figure, and the command that counted it

The build re-runs each command and refuses to render if a value has changed since the contract was signed.

300
RUNTIME SECONDS
ffprobe -v error -show_entries format=duration -of csv=p=0 '/Users/davendrapatel/videoclaw/projects/krishna-nanha-mor-film/final/nanha-mor.mp4' | awk '{printf "%d", $1}'
15
SCENES
python3 -c "import json; print(len(json.load(open('/Users/davendrapatel/videoclaw/projects/krishna-nanha-mor-film/artifacts/storyboard.json'))['scenes']))"
15
SCENE CLIPS
ls /Users/davendrapatel/videoclaw/projects/krishna-nanha-mor-film/outputs/scene-*.mp4 | wc -l
20
SECONDS PER SCENE
python3 -c "import json; s=json.load(open('/Users/davendrapatel/videoclaw/projects/krishna-nanha-mor-film/artifacts/storyboard.json'))['scenes']; d=set(x['durationSeconds'] for x in s); assert len(d)==1, d; print(d.pop())"
1
CONSISTENCY FINDINGS
python3 -c "import json; print(len(json.load(open('/Users/davendrapatel/videoclaw/projects/krishna-nanha-mor-film/artifacts/consistency-audit.json'))['findings']))"

Verification

13 automated checks, zero failures

Including a byte-for-byte rebuild: the film is built twice and refused unless both hash identically.

sources_exist ok
no_excluded_source ok
aspect_at_pixels ok
duration_in_range ok
true_peak_headroom ok
loudness_near_target ok
qc_strip ok
number:RUNTIME SECONDS ok
number:SCENES ok
number:SCENE CLIPS ok
number:SECONDS PER SCENE ok
number:CONSISTENCY FINDINGS ok
byte_reproducible ok

QC

Every second of the film, on one sheet

One frame per second — the density this pipeline requires, because a single mid-frame grab has passed defects before.

QC filmstrip