ContentPipeline: From Beat Sheet to YouTube Short
The Original Vision
Manual video editing is friction. You see something interesting in a game and want to share it, but the editing step stops you. ContentPipeline removed that step: write a short YAML beat sheet — clip timestamps, one line of text per beat, a music track — point it at footage, and it produces a finished YouTube Short.
It grew to cover the whole loop around that: controlling OBS recording over WebSocket (pausing when the game loses focus), and talking to the YouTube Data API for uploads, the channel library and analytics.
What Changed
The channel’s tooling consolidated into RFD_YT_Engine, which splits the work into explicit domains (ingest, production, distribution, catalog, scheduling, capture, streaming, interface). A separate Shorts pipeline became redundant, so ContentPipeline was retired into it in September 2026, once the engine could do everything still in use.
The Harvest
- Content moved first. 273 Short configs, 18 session notes, 3 stream notes and the OBS overlay pages moved into the engine, with a regression test proving overlays are served from the engine’s own copy.
- Then the tooling. Beat-sheet render parity, command-line entry points (produce, publish, upload session, transcribe, voice-over), both calendar modes (schedule new videos, or re-date every private Short) and the analytics tools moved over with tests.
- Left behind on purpose: the live-stream launcher, live and review session recording, clip downloading and the recommendations tool, none of them used for months.
- Kept honest: the repository is archived but public as a record of the approach, with 513 commits, 603 pytest test functions and its ADRs.
GitHub: ContentPipeline · Successor: RFD_YT_Engine