Page:
File Naming & Directory Conventions
Pages
Architecture Overview
Clip Handling Logic
Directory Layout
File Naming & Directory Conventions
File Structure
Getting Started
Home
Metadata Extraction
Metadata Format
Metadata History
Module Index
Pending Work & Roadmap
Project Overview
Test Structure
Test Wiki Hook
Thumbnail Generation
Thumbnail Prompting
YouTube Upload Logic
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
🧾 File Naming & Directory Conventions
This page defines the standard folder structure and file naming rules used by the LCS Pipeline to automate detection, classification, and processing.
🗂️ Session Directory Format
All input clips are organized under session folders, named using one of the following formats:
YYYY.MM.DD/
YYYY.MM.DD.N/ ← (N = 2–99 for multiple sessions on the same day)
Examples:
2025.07.21/2025.07.21.2/→ treated as "Video 2" from the same day
📁 Required Subdirectories
Each session folder must contain the following subdirectories:
| Folder Name | Purpose |
|---|---|
hits/ |
Great moments / eliminations |
misses/ |
Funny fails or embarrassing clips |
outtakes/ |
Manually marked highlights during stream |
montages/ |
Pre-edited reels (multi-event highlight mixes) |
timelapses/ |
3D print time-lapse captures (special case) |
rendered/ |
Final videos after intro/outro, overlay, export |
These folders are required for consistent processing.
🎥 File Naming Rules
Clip file:
clip-name.mp4
clip-name-vert.mp4 ← treated as vertical
Metadata file:
clip-name.notes.json
All metadata files must:
- Use the same basename as their associated
.mp4file - Reside in the same subdirectory
🧠 Format Inference
- Vertical clips: filenames ending in
-vertor-vertical - Output names retain the original base name (with
-vertpreserved) - Montages are treated as full reels and auto-titled
- All other clips prompt for
notes.jsoninput
This page works hand-in-hand with Clip Handling Logic.