
Video pipeline · Python
Rossen Reports
A show script goes in. Cut clips come out.
For Jeff Rossen, national consumer correspondent
Jeff’s team hands over a show script and gets back cut clips, ready for the edit. We built the pipeline that reads the script, searches the web and YouTube for matching footage, screens thousands of candidates, and cuts the best ones. We also built rossenreports.com, with its live government scam-alert feed.
What it does
Jeff Rossen's team hands over a show script and gets back cut clips, ready for the edit. The site also runs a live scam-alert feed drawn from government sources.
How it works
The script is read and broken into beats. Each beat becomes a set of search queries across four registers, run against YouTube and a web search API. Candidates are screened twice: first on metadata, with hard filters on orientation, length and compilations, then on captions, where a clip has to contain the actual line it claims. What survives is downloaded and cut into a Final Cut timeline.
The hard parts
One wire story is re-hosted by dozens of local affiliates, so the same footage arrives many times over. Fuzzy title matching collapses those and keeps the earliest upload, which is the one with the cleanest rights. On the site, per-source rules keep non-consumer press releases off a page that carries Jeff’s name.
Built with
An Express app on Vercel for the site, and a 2,300-line Python pipeline with yt-dlp, ffmpeg and a SQLite cache. 86 offline tests. One real run took 2,021 candidates down to three clips.
