Cookbook
29.97 drop-frame edit from timecode
Convert timecode to seconds for ffmpeg trim points.
Skills: `timecode` → `video-transformation` → `inspect`
Steps
Step 1 — timecode
# 1. Detect format if unknown
cd skills/timecode
uv run scripts/detect_format.py --timecode 01:00:00;00 --fps 29.97
# 2. Convert in/out points to seconds (wall-clock for ffmpeg -ss)
uv run scripts/to_seconds.py --timecode 00:10:00;00 --fps 29.97
uv run scripts/to_seconds.py --timecode 00:12:30;00 --fps 29.97
# 3. Trim using seconds_realtime from JSON
cd ../video-transformation
uv run scripts/trim.py --input clip.mov --start <in_seconds> --end <out_seconds>Step 2 — timecode
cd skills/timecode
uv run scripts/convert.py \
--timecode 00:10:00:00 \
--from-fps 24 \
--to-fps 29.97Step 3
uv run scripts/convert_df.py \
--timecode 01:00:00;00 \
--fps 29.97 \
--to non-drop-frameStep 4
uv run scripts/extract.py --input master.mov
uv run scripts/calculate.py --timecode 00:58:40;00 --op add --offset-seconds 80.013 --fps 30000/1001Step 5
# 4. Confirm trim duration ≈ (end − start) from to_seconds
cd ../inspect
uv run scripts/describe.py --input <trimmed_output>Agent notes
- Semicolon (`;`) in frame field = drop-frame display.
- Prefer `seconds_realtime` for ffmpeg on NTSC DF material.
- See `skills/timecode/references/DF_NDF.md` for background.