Skip to content

About

Reproducible, code-driven video production pipelines for AI research: Shotcut (.mlt), OpenShot (.osp), Lightworks (CMX-3600 EDL), OpenTimelineIO, ffmpeg, PySceneDetect, auto-captioning.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Production Portfolio

by Katherine Feemster

Senior Video Production Professional · Editorial · Captions · OTIO & EDL Interchange

🌐 Live portfolio site · GitHub repo

Shotcut OpenShot Lightworks OpenTimelineIO ffmpeg EBU R128 Python

End-to-end, code-first video production — FOSS NLE project generators, OpenTimelineIO + CMX-3600 interchange, R128-compliant loudness, broadcast-safe captions.


Contents


Hero

Editorial timeline mock showing three video tracks with cross-fades and two audio tracks with loudness waveforms in teal and amber


Highlighted projects

Project Stack What it proves
AI dataset video curation ffmpeg · PySceneDetect · aHash Raw footage into a versioned, deduplicated, normalised training set.
Shotcut MLT project generator Python · MLT XML Programmatic .mlt projects with producers, playlists and dynamic text.
OpenShot + OpenTimelineIO Python · OSP · OTIO Cross-NLE interchange so the same cut opens in OpenShot or any OTIO tool.
Lightworks EDL export CMX-3600 · 33pt .cube LUT Finishing hand-off to Lightworks / Resolve with a matching editorial LUT.
Auto-captioning + burn-in Whisper (optional) · SRT · ffmpeg Accessible captions with broadcast-safe margins for social and research decks.

Reproducibility

pip install opencv-python scenedetect opentimelineio matplotlib numpy
python3 scripts/python/run_all.py    # builds every artefact from nothing

Nine stages produce the .mlt, .osp, .otio, .edl, .cube and a final 1080p30 demo cut. Whisper is optional and gated on WHISPER=1 so CI stays offline.


Tech stack

  • Editing NLEs — Shotcut (MLT), OpenShot (OSP), Lightworks, Kdenlive · pvpython-style programmatic project authoring.
  • Interchange — OpenTimelineIO 0.17, CMX-3600 EDL, AAF, FCP7 XML, XMEML.
  • Grading & LUTs — 33-point .cube 3D LUTs, Rec.709 → editorial, scopes (waveform, parade, vectorscope).
  • Audio — ffmpeg loudnorm EBU R128, -23 LUFS integrated, -2 dBTP true-peak, LRA ≤ 7.
  • Captions — WebVTT / SRT / TTML, Whisper v3 for drafts, broadcast-safe 5 % title / 10 % action-safe margins.

Editorial style

  • Palette — teal #2E7A7B + amber #D9A441 on ink #0F1A1F / paper #FBFAF7.
  • Type — Inter (UI) + JetBrains Mono (code, netlists, timecode).
  • Determinism — every generator is seeded; PNG, CSV and project-file bytes are stable across CI runs.
  • Licensing — every tool in the pipeline is FOSS. No commercial SDK in the dependency tree.

Repo layout

video-production-portfolio/
├── projects/                    # five case studies with their own READMEs
├── scripts/python/              # 9 generators — the source of truth
├── scripts/projects/            # .mlt / .osp / .otio / .edl / .cube artefacts
├── assets/data/                 # raw + curated synthetic clips
├── assets/renders/              # posters (timeline, scene grid, waveform, caption)
├── assets/demo/                 # final cut + captioned demo
├── docs/                        # GitHub Pages site
└── .github/workflows/           # CI re-runs the whole pipeline on push

About the author

Senior video production professional with editorial, motion and technical supervisor experience. Comfortable owning a project from raw footage ingest through finishing, captioning and delivery — with a bias for reproducible, code-driven pipelines over manual NLE sessions.

Open to remote and contract engagements. This repository is the living portfolio companion to my CV.


Contact

Katherine Feemster


Built diff-first, editor-second. Every figure on this page is produced by code in this repo.

About

Reproducible, code-driven video production pipelines for AI research: Shotcut (.mlt), OpenShot (.osp), Lightworks (CMX-3600 EDL), OpenTimelineIO, ffmpeg, PySceneDetect, auto-captioning.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages