← Alle Projekte

Daily

Automatisierte Video-Upload- und Content-Management-System für Dailymotion

Python FFmpeg API Integration

Über das Projekt

Daily ist ein Python-basiertes Automatisierungssystem für die Verwaltung und den Upload von Video-Content auf Dailymotion. Das Projekt wurde entwickelt, um Geburtstagsvideos automatisch herunterzuladen, zu verarbeiten und auf Dailymotion hochzuladen.

Technologien & Tools

Python 3.12

Hauptprogrammiersprache

yt-dlp

YouTube Video-Download

FFmpeg

Video-Verarbeitung & Konvertierung

PyMySQL

MySQL Datenbank-Anbindung

Dailymotion API

Video-Upload & Metadaten

Virtual Env

Python venv für Abhängigkeiten

Funktionen

  • Automatischer YouTube Video-Download in bester Qualität
  • Thumbnail-Extraktion und -Upload
  • Multi-Pass Video-Konvertierung zu 9:16 Format (1080x1920)
  • Dynamische Text-Overlay-Erstellung (HAPPY BIRTHDAY TO YOU + Name)
  • Automatischer Upload zu Dailymotion mit API
  • MySQL-Datenbank-Integration für Video-Verwaltung
  • Tag-Verwaltung und Metadaten-Updates
  • FFmpeg-basierte Video-Manipulation

Hauptkomponenten

daily.py

Hauptskript für Video-Download von YouTube, Thumbnail-Extraktion und Upload zu Dailymotion. Verwaltet die komplette Pipeline von der Quelle bis zur Veröffentlichung.

create_birthday_video.py

Erstellt personalisierte Geburtstagsvideos durch Kombination von Basis-Video mit heruntergeladenem YouTube-Audio. Fügt animierte Text-Overlays mit individuellem Namen hinzu.

test_download.py

Multi-Pass Video-Konvertierung zu vertikalem Format (9:16). Rendert Text in drei Durchgängen mit automatischer Schriftgrößenberechnung für optimale Lesbarkeit.

set_tags.py

Tool zum Aktualisieren von Video-Tags auf Dailymotion. Ermöglicht nachträgliche Metadaten-Anpassung für bereits hochgeladene Videos.

config.py

Zentrale Konfigurationsdatei mit Datenbank-Verbindungsdaten, API-Keys, Beschreibungs-Templates und Tag-Listen für verschiedene Content-Typen.

Workflow

1

Datenbank-Abfrage

Auswahl eines zufälligen Videos aus der MySQL-Datenbank (ChannelName = 'GebAlt', Duplicate = 0)

2

Video-Download

YouTube-Video wird mit yt-dlp in bester verfügbarer Qualität heruntergeladen (MP4-Format)

3

Thumbnail-Extraktion

Thumbnail wird von YouTube heruntergeladen und für den Upload vorbereitet

4

Dailymotion Upload

Video wird über Dailymotion API hochgeladen mit Titel, Beschreibung, Tags und Thumbnail

5

Cleanup

Temporäre Dateien werden gelöscht, Datenbank wird aktualisiert (Duplicate=2)

Technische Highlights

Dynamische Schriftgrößenberechnung

Automatische Berechnung der optimalen Schriftgröße basierend auf Videobreite und Textlänge für maximale Lesbarkeit.

Multi-Pass Rendering

Text-Overlay wird in mehreren Durchgängen gerendert, um Qualität und Positionierung zu optimieren.

Retry-Mechanismus

Automatische Wiederholung bei Download-Fehlern mit konfigurierbarer Anzahl von Versuchen.

Fehlerbehandlung

Umfassende Exception-Handling für alle kritischen Operationen mit detaillierten Debug-Informationen.

Projektstruktur

daily/
├── daily.py                    # Hauptskript für Download & Upload
├── create_birthday_video.py    # Geburtstagsvideo-Generator
├── test_download.py            # Multi-Pass Video-Konvertierung
├── set_tags.py                 # Tag-Verwaltung für Dailymotion
├── config.py                   # Konfiguration & Templates
├── requirements.txt            # Python-Abhängigkeiten
├── output/                   # Ausgabeverzeichnis für Videos
├── temp/                       # Temporäre Dateien
└── venv/                       # Python Virtual Environment

Abhängigkeiten

yt-dlp 2025.03.27 YouTube Video-Download
pymysql 1.1.0 MySQL Datenbank-Verbindung
requests 2.31.0 HTTP-Requests
dailymotion - Dailymotion Python SDK
FFmpeg - Video-Verarbeitung