Ü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
Datenbank-Abfrage
Auswahl eines zufälligen Videos aus der MySQL-Datenbank (ChannelName = 'GebAlt', Duplicate = 0)
Video-Download
YouTube-Video wird mit yt-dlp in bester verfügbarer Qualität heruntergeladen (MP4-Format)
Thumbnail-Extraktion
Thumbnail wird von YouTube heruntergeladen und für den Upload vorbereitet
Dailymotion Upload
Video wird über Dailymotion API hochgeladen mit Titel, Beschreibung, Tags und Thumbnail
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