Übersetzung und Synchronisation
Übersetzung und Synchronisation
Wenn du nur eine standardmäßige Sprachübersetzung mit lipsync brauchst, ist der Single-Call-Flow mit dubParams einfacher, siehe Synchronisationsanleitung. Dieses Tutorial ist für Nutzer, die feingranulare Kontrolle über die Orchestrierung zwischen ElevenLabs, OpenAI und Sync Labs möchten.
Videoübersetzung und Synchronisation ermöglichen dir, Inhalte in verschiedene Sprachen umzuwandeln und dabei natürliche Lippenbewegungen und Sprachqualität beizubehalten. Dieses Tutorial zeigt dir, wie du Videos programmatisch übersetzt und synchronisierst, um deine Inhalte für globale Zielgruppen zugänglich zu machen.
Folge diesen Schritten, um das Übersetzung und Synchronisation-Beispiel auszuführen:
Umgebung einrichten
Erstelle eine virtuelle Umgebung und installiere die erforderlichen Abhängigkeiten:
Eingaben und Einstellungen konfigurieren
Bearbeite die Datei args.py, um die folgenden Eingaben und Einstellungen zu konfigurieren:
SYNCLABS_API_KEY: Dein API-Schlüssel für Sync LabsELEVENLABS_API_KEY: Dein API-Schlüssel für ElevenLabsOPENAI_API_KEY: Dein API-Schlüssel für OpenAI
Erforderliche Einstellungen:
input_vid_url: URL des zu übersetzenden/synchronisierenden Videos.target_language: Zielsprache für die Übersetzung (zum Beispiel “Spanish”)output_json_path: Dateipfad zum Speichern der Ausgabe-JSON-Daten
Optionale Einstellungen:
source_language: Ausgangssprache des Videos (für automatische Erkennung leer lassen)voice_id: ElevenLabs voice ID (leer lassen, um die Stimme automatisch aus dem Eingabevideo zu klonen)sync_mode: Modus zum Synchronisieren von Text mit Video bei Längenabweichungen (Standard: “bounce”)lipsync_model: Sync.so lipsync-Modell (Standard: “lipsync-2”)tts_model: ElevenLabs Text-zu-Sprache-Modell (Standard: “eleven_multilingual_v2”)gpt_model: OpenAI GPT-Modell für Übersetzung (Standard: “gpt-3.5-turbo”)transcription_model: OpenAI-Modell für Transkription (Standard: “whisper-1”)segment_start: Startzeit des zu übersetzenden/synchronisierenden Videosegments (in Sekunden, -1 für gesamtes Video)segment_end: Endzeit des zu übersetzenden/synchronisierenden Videosegments (in Sekunden, -1 für gesamtes Video)
- Die Eingabevideodatei muss Audio enthalten, das für Stimmenklonen verwendet wird, wenn keine voice ID angegeben ist.
- Weitere Informationen zu unterstützten Sprachen und Modellen findest du bei ElevenLabs und OpenAI.
Videos übersetzen/synchronisieren
Führe das Python-Skript aus:
Dieser Befehl startet den Prozess zur Übersetzung/Synchronisierung des Videos basierend auf der Konfiguration in args.py.
Nach Abschluss wird eine JSON-Datei unter dem in output_json_path angegebenen Pfad gespeichert und enthält folgende Informationen:
input_video: URL des verarbeiteten Originalvideosgenerated_audio: URL zur übersetzten Audiodateilipsync_jobID: Eindeutige ID für den lip sync-JoboutputUrl: URL für den Zugriff auf das finale übersetzte/synchronisierte Videovoice_id: ID der in der Übersetzung verwendeten Stimme (wenn nicht angegeben, automatisch generiert)
- Temporäres File Hosting: Dieser Code nutzt den temporären File-Hosting-Dienst Uguu, um URLs für TTS-Audiodateien zu erzeugen. Diese URLs laufen nach 3 Stunden ab. Um deinen eigenen Hosting-Dienst zu verwenden, ändere
upload_file_uguu()inFileProcessor.py. - Job Polling: Das Polling für den Abschluss des lipsync-Jobs läuft nach 60 Minuten in ein Timeout. Passe das Timeout-Limit in
LipSyncService.pyan oder nutzefetch_updates.py, um Ausgabe-URLs überoutput_json_pathabzurufen.
Verwandte Ressourcen
- API-Anleitung für Videoübersetzung — detaillierter API-Leitfaden für Workflows zur Videoübersetzung
- API-Anleitung für Videosynchronisation — Schritt-für-Schritt-Leitfaden für Synchronisation mit der Sync Labs API
- Integrations — Sync Labs mit ElevenLabs und anderen Drittanbieterdiensten verbinden

