🎬 Multi Meta – Vollautomatisierte YouTube-Video-Pipeline

Automatischer Download, Thumbnail-Erstellung, KI-gestützte Meta-Daten und Multi-Account-Upload mit Quota-Rotation

PythonYouTube APIMySQLPILOAuth

🚀 Automatisierte YouTube-Content-Pipeline für Ihr Business?

Vereinbaren Sie ein unverbindliches Strategiegespräch

📞 02406 803 7603 ✉️ info@computerkumpel.de

📊 Business Value

Diese Pipeline automatisiert den kompletten YouTube-Workflow von der Content-Beschaffung bis zum Upload. Mit Multi-Account-Quota-Management werden API-Limits intelligent umgangen – ideal für Content-at-Scale-Strategien.

🔄
Endlos-Loop
Konfigurierbarer Dauerbetrieb mit zufälligen Pausen (2-10s) – die Pipeline läuft 24/7 ohne manuellen Eingriff.
👥
Multi-Account
Bis zu 17 YouTube-Accounts mit automatischer Quota-Rotation. Bei Quota-Exceeded wird nahtlos der nächste Account verwendet.
🖼️
Auto-Thumbnails
PIL-basierte Thumbnail-Generierung mit Text-Overlay für Geburtstagsvideos. Automatische Schriftarten und Positionierung.

💻 Pipeline-Architektur

Fünf unabhängige Funktionen, die über ein Menü-System gesteuert und im Loop-Modus betrieben werden können.

📤
Video Upload
Kompletter Flow: DB-Abfrage → Meta-Processing → Thumbnail-Generierung → YouTube-Download → Upload.
📱
Short Upload
Spezieller Workflow für YouTube Shorts mit eigenen Templates und Meta-Daten-Konfigurationen.
✏️
Meta Update
Nachträgliche Aktualisierung von Titel, Beschreibung und Tags bereits hochgeladener Videos.

📝 Echte Code-Snippets

Multi-Account-Quota-Management mit automatischer Rotation:

exhausted_accounts = []
uploaded = False
for account, secret_file in config.ACCOUNT_SECRETS.items():
    if account in exhausted_accounts:
        continue
    
    try:
        TOKEN_NAME = os.path.join(config.base_dir, f"token_{account}.json")
        client_secrets_file = os.path.join(config.base_dir, secret_file)
        googlehandling(TOKEN_NAME, client_secrets_file, config.SCOPES, 
                       yt_id, titel, desc, key, name, timestamp_value)
        uploaded = True
        break
    except ResumableUploadError as e:
        if "quota" in str(e):
            exhausted_accounts.append(account)
            pause_duration = random.uniform(2, 5)
            time.sleep(pause_duration)
            continue

Menügesteuertes Pipeline-System:

print("1. Video Upload\n2. Short Upload\n3. Meta Daten aktualisieren\n4. Thumbnails aktualisieren\n5. Comments\n6. Beenden")
auswahl = input("Nummer: ")

if auswahl == "1":
    ausgewaehlte_funktion = start_video_upload
elif auswahl == "2":
    ausgewaehlte_funktion = start_short_upload

loop_mode = input("Endlos-Loop? (ja/nein): ")
while True:
    ausgewaehlte_funktion()
    if loop_mode != "ja":
        break
    sleep_duration = random.randint(2, 10)

🔧 Technologie-Stack

Python 3 Google YouTube API v3 OAuth 2.0 MySQL / pymysql PIL / Pillow pytube schedule

🚀 Kernfunktionen