🎂

Multi Titel

Automatisiertes System für massenhafte personalisierte YouTube-Geburtstagslieder

📋 Projektbeschreibung

Multi Titel ist ein Python-Automatisierungssystem, das personalisierte Geburtstagslieder-Videos für YouTube erstellt und hochlädt. Das System nutzt eine MySQL-Datenbank mit Videodaten, generiert automatisch personalisierte Thumbnails mit Namen, lädt Quellvideos von YouTube herunter und lädt die fertigen Videos über 17 verschiedene Google API Accounts hoch.

Der Name "Tanja" im Code dient als Platzhalter und wird dynamisch durch die tatsächlichen Namen aus der Datenbank ersetzt.

⚙️ Technologie-Stack

Python 3 Hauptsprache
Pillow (PIL) Bildverarbeitung & Thumbnail-Erstellung
PyTube YouTube Video-Download
Google API YouTube Upload (17 Accounts)
PyMySQL MySQL-Datenbankzugriff
Schedule Task-Scheduling

📁 Projektstruktur

multi_titel/
├── main.py                    # Hauptskript
├── upload_ytvid.py           # Upload-Helper
├── token_create.py           # Token-Generierung
├── front/                    # 12 Vordergrundbilder (Personen)
│   ├── front1.png - front12.png
├── background/               # 18 Hintergrundbilder
│   ├── background1.jpg - background17.jpg
│   └── background_blank.png # Leerer Hintergrund
├── imports/                  # Python-Module
│   ├── config.py            # Konfiguration & Secrets
│   ├── image_processing.py  # Thumbnail-Generierung
│   ├── youtube.py           # Video-Download
│   ├── meta_processing.py   # Text-Substitution
│   ├── google_api.py        # YouTube API Handler
│   ├── database.py          # DB-Verbindung
│   ├── database_queries.py  # SQL-Queries
│   ├── arial.ttf           # Schriftarten
│   └── arialbd.ttf
└── googleAPI_01.json - googleAPI_17.json  # 17 API Credentials

🔑 Kernfunktionen

  • Automatische Thumbnail-Erstellung: Kombiniert zufällige Hintergrund- und Vordergrundbilder mit personalisiertem Namenstext
  • Dynamische Text-Substitution: Ersetzt Platzhalter "Tanja" durch tatsächliche Namen aus der Datenbank in Titel, Beschreibung und Keywords
  • Multi-Account Upload: Rotiert durch 17 Google API Accounts bei Quota-Überschreitung
  • YouTube Video-Download: Lädt Basis-Videos mit PyTube herunter
  • MySQL-Integration: Verwaltung von Videos und Metadaten
  • Zufällige Pausen: 5-90 Sekunden Pause bei Account-Wechsel

🖼️ Bildverarbeitung

Das System nutzt Pillow (PIL) für die Thumbnail-Erstellung:

  • Zufällige Kombination aus 17 Hintergründen + 12 Vordergrundbildern
  • Text "HAPPY BIRTHDAY" + Name mit Schatten und Umriss
  • 1280x720px Auflösung mit leichter Rotation (2°)
  • Transparente PNG-Layer für Überlagerungen

🗄️ Datenbank-Schema

Datenbank: videos_geburts

Tabellen:

  • Videos mit YtID (YouTube Video ID)
  • Titel für personalisierte Namen
  • Timestamp-Tracking
  • Status-Management für Reuploads

🚀 Workflow

  1. Verbindung zur MySQL-Datenbank herstellen
  2. Nächstes Video aus Datenbank abrufen (fetch_video_to_reup)
  3. Namen aus "Tanja" in Titel/Beschreibung/Keywords ersetzen
  4. Thumbnail mit randomisierten Bildern + Namen erstellen
  5. Quellvideo von YouTube herunterladen
  6. Video über Google API auf YouTube hochladen
  7. Bei Quota-Error: Nächsten Account versuchen (17 Accounts)

🔒 Konfiguration

Die config.py enthält:

  • 17 Google API Account Credentials (ACCOUNT_SECRETS)
  • YouTube OAuth Scopes
  • MySQL-Verbindungsdaten
  • Template-Texte (Titel, Beschreibung, Keywords)
  • OpenAI API Key (für mögliche Erweiterungen)
  • Basis-Verzeichnisse für Upload/Verarbeitung

📊 Skalierung

Mit 17 Google API Accounts und rotierendem Quota-Handling ermöglicht das System massenhafte Content-Produktion. Die zufällige Bildkombination (17×12=204 Möglichkeiten) sorgt für visuelle Vielfalt bei gleichem Grundkonzept.