Update README.md

This commit is contained in:
2025-08-12 00:48:01 +00:00
parent 14500c479e
commit 90c5d6992e

139
README.md
View File

@ -1,84 +1,97 @@
# 🎬 LCS Pipeline
# LCS Video Pipeline Wiki
**Automated livestream highlight rendering and publishing for Fortnite content featuring Gramps.**
This project powers the backend of [Llama Chile Shop](https://www.youtube.com/@llamachileshop), transforming raw livestream clips into polished, uploaded videos — complete with titles, thumbnails, intros/outros, and social metadata.
Welcome to the **LCS Video Pipeline** documentation!
This wiki is the living source of truth for the project — workflows, automation scripts, branding guidelines, and everything else that keeps the pipeline running smoothly.
---
## ⚙️ Features
* ✅ Daily folder scan for new stream sessions
* 🎬 Clip classification (`hits/`, `misses/`, `montages/`, etc.)
* 🧠 AI-generated titles and descriptions via OpenAI
* 🪄 Auto-stitched intro + title card + outro
* 🖼️ Dynamic thumbnail creation with Fortnite styling
* ⬆️ Uploads to YouTube (and PeerTube if enabled)
* 🧾 Metadata archive and session history
* 🐘 (Planned) Social posts to Mastodon and Bluesky
## 📑 Table of Contents
- [Overview](#overview)
- [Project Goals](#project-goals)
- [Core Components](#core-components)
- [Workflow Summary](#workflow-summary)
- [Branding Guidelines](#branding-guidelines)
- [Automation Scripts](#automation-scripts)
- [Contributing](#contributing)
- [License](#license)
- [Site Index](#site-index)
---
## 🚀 Quick Start
```bash
git clone https://github.com/LCS-Gramps/video-pipeline.git
cd video-pipeline
pip install -r requirements.txt
cp .env.example .env # Fill in your API keys and config
python main.py
```
> Requires Python 3.13+ and access to mapped NAS directory (e.g. `Z:\2025.08.05\hits\`).
## Overview
The **LCS Video Pipeline** automates the transformation of raw livestream recordings into fully branded, published videos on YouTube and PeerTube — with minimal manual effort.
Its built to be fast, flexible, and scalable.
---
## 🗂️ Folder Structure
```
video-pipeline/
├── main.py
├── config.py
├── .env.example
├── modules/
│ ├── render_engine.py
│ ├── title_utils.py
│ ├── thumbnail_utils.py
│ ├── yt_poster.py
│ └── ...
├── assets/ # Branding assets (intros, fonts, logos)
├── logs/ # Sync logs, wiki publish logs, etc.
└── metadata/
└── history/ # Per-clip metadata archive
```
## Project Goals
- **Full Automation** Minimize manual intervention in video processing and uploads.
- **Brand Consistency** Apply intros, outros, titles, and descriptions according to predefined rules.
- **Platform Flexibility** Publish to multiple platforms without extra steps.
- **Metadata Tracking** Maintain a detailed archive of uploads, formats, and performance data.
---
## 📚 Documentation
Full documentation is hosted in the GitHub Wiki:
👉 [📖 LCS Pipeline Wiki](https://github.com/LCS-Gramps/video-pipeline/wiki)
Recommended pages:
* [`Home`](https://github.com/LCS-Gramps/video-pipeline/wiki)
* [`Clip Handling Logic`](https://github.com/LCS-Gramps/video-pipeline/wiki/Clip-Handling-Logic)
* [`Metadata Extraction`](https://github.com/LCS-Gramps/video-pipeline/wiki/Metadata-Extraction)
* [`YouTube Upload Logic`](https://github.com/LCS-Gramps/video-pipeline/wiki/YouTube-Upload-Logic)
## Core Components
1. **Video Processing** Handles clip trimming, intro/outro insertion, title card generation, and format adjustments.
2. **Metadata Generation** Pulls session data and user notes into dynamic titles and descriptions.
3. **Publishing** Uploads to YouTube, PeerTube, and optionally Mastodon/Bluesky.
4. **Branding Assets** Logos, fonts, and color palettes for consistent look-and-feel.
5. **Automation Scripts** Python modules that orchestrate the entire pipeline.
---
## 🧪 Development Mode
* `DEBUG=True` in `.env` disables destructive operations
* All modules can be run/tested independently
* Wiki editing is supported via local Markdown and `wiki_publish.log`
## Workflow Summary
1. **Clip Intake** Source files are added to the `hits/`, `misses/`, `montages/`, or `outtakes/` folders.
2. **Brand Application** The system injects title cards, branding assets, and date stamps.
3. **Rendering** Produces both widescreen (16:9) and vertical (9:16) versions where applicable.
4. **Upload & Publish** Posts videos to target platforms with optimized descriptions and hashtags.
5. **Archive** Updates the metadata repository for auditing and analytics.
---
## 🧙 About
## Branding Guidelines
- **Main Font**: Fortnite-style font (Burbank Big Condensed Black)
- **Main Colors**:
- Pink: `#f7338f`
- Aqua: `#10abba`
- Dark Shadow: `#1c0c38`
- **Logo**: Brand llama (`LlamaLlama.png`) used on all thumbnails.
Created by **Gramps** for Llama Chile Shop — a custom content pipeline for old-school gaming chaos.
---
> Maintainer: `gramps@llamachile.shop`
> Contributions welcome in the form of bug reports, pull requests, or Fortnite gifts. 🎁
## Automation Scripts
Key helper scripts include:
- `render_engine.py` Builds final videos with intros, titles, and outros.
- `title_utils.py` Generates title cards dynamically.
- `yt_poster.py` Handles YouTube uploads.
- `pt_poster.py` Handles PeerTube uploads.
- `sync_wiki.py` Pushes updated wiki pages to the repository.
- `discovery.py` Detects new session folders for processing.
---
## Contributing
Pull requests are welcome on the [llgit repository](https://llgit.llamachile.tube/code/gramps/video-pipeline).
Please follow the established coding style and commit message conventions.
---
## License
This project is licensed under the MIT License.
---
## 📚 Site Index
Heres a quick jump list to all wiki pages:
- [Home](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki)
- [Installation](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Installation)
- [Configuration](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Configuration)
- [Usage](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Usage)
- [Branding](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Branding)
- [Automation](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Automation)
- [Troubleshooting](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Troubleshooting)
- [Changelog](https://llgit.llamachile.tube/code/gramps/video-pipeline/wiki/Changelog)
---