Allgemeine Einführung
LatentSync ist ein Open-Source-Tool, das von ByteDance entwickelt und auf GitHub gehostet wird. Es steuert die Lippenbewegungen der Charaktere im Video direkt durch das Audio, so dass die Mundform genau mit der Stimme übereinstimmt. Das Projekt basiert auf dem Latent-Diffusion-Modell von Stable Diffusion, kombiniert mit dem Flüstern Die Version 1.5 von latentSync, die am 14. März 2025 veröffentlicht wurde, optimiert die zeitliche Konsistenz, unterstützt chinesischsprachige Videos und reduziert den Speicherbedarf für Trainingsvideos auf 20 GB. Benutzer können den Inferenzcode ausführen, um lippensynchrone Videos mit einer Auflösung von 256x256 zu erzeugen, indem sie einfach eine Grafikkarte mit 6,8 GB Videospeicher verwenden. Videos mit einer Auflösung von 256x256. Das Tool ist völlig kostenlos, wird mit Code und vortrainierten Modellen geliefert und ist sowohl für Technikbegeisterte als auch für Entwickler geeignet.
-
Erfahrung: https://huggingface.co/spaces/fffiloni/LatentSync
-
API-Demo-Adresse: https://fal.ai/models/fal-ai/latentsync
Funktionsliste
- Audio Treiber Lip SyncEingabe von Audio- und Videodaten, um automatisch zum Ton passende Lippenbewegungen zu erzeugen.
- End-to-End-VideoerstellungKeine Zwischendarstellung erforderlich, direkte Ausgabe eines klaren lippensynchronen Videos.
- Optimierung der ZeitkonsistenzReduziert Bildsprünge mit TREPA-Technologie und Timing-Ebenen.
- Unterstützung für chinesische VideosVersion 1.5 verbessert die Handhabung von chinesischem Audio und Video.
- Effiziente AusbildungsunterstützungDas U-Net ist in einer Vielzahl von U-Net-Konfigurationen mit einem Speicherbedarf von nur 20 GB erhältlich.
- Pipeline für die DatenverarbeitungIntegrierte Tools zur Bereinigung der Videodaten und zur Gewährleistung der Qualität der Generierung.
- ParametrisierungUnterstützung für die Anpassung von Inferenzschritten und Führungsskalen zur Optimierung der Generierung.
Hilfe verwenden
LatentSync ist ein lokal betriebenes Tool für technisch versierte Benutzer. Der Installations-, Begründungs- und Schulungsprozess wird im Folgenden ausführlich beschrieben.
Einbauverfahren
- Hardware- und Softwareanforderungen
- Erfordert eine NVIDIA-Grafikkarte mit mindestens 6,8 GB Videospeicher (für Inferenzen), 20 GB oder mehr werden für das Training empfohlen (z. B. RTX 3090).
- Unterstützt Linux oder Windows (Windows erfordert eine manuelle Skriptanpassung).
- Installieren Sie Python 3.10, Git und PyTorch mit CUDA-Unterstützung.
- Code herunterladen
Läuft im Terminal:
git clone https://github.com/bytedance/LatentSync.git
cd LatentSync
- Installation von Abhängigkeiten
Führen Sie den folgenden Befehl aus, um die erforderlichen Bibliotheken zu installieren:
pip install -r requirements.txt
Zusätzliche Installation von ffmpeg für die Audio- und Videoverarbeitung:
sudo apt-get install ffmpeg # Linux
- Modelle herunterladen
- durch (eine Lücke) Gesicht umarmen Herunterladen von
latentsync_unet.pt
im Gesang antwortentiny.pt
. - Legen Sie die Datei in den Ordner
checkpoints/
Katalog mit der folgenden Struktur:checkpoints/ ├── latentsync_unet.pt ├── whisper/ │ └── tiny.pt
- Wenn Sie SyncNet trainieren, müssen Sie auch Folgendes herunterladen
stable_syncnet.pt
und andere Hilfsmodelle.
- Überprüfung der Umgebung
Führen Sie den Testbefehl aus:
python gradio_app.py --help
Wenn kein Fehler gemeldet wird, wurde die Umgebung erfolgreich erstellt.
Ableitungsprozess
LatentSync bietet zwei Inferenzmethoden, die beide 6,8 GB Videospeicher benötigen.
Methode 1: Gradio-Schnittstelle
- Starten Sie die Gradio-Anwendung:
python gradio_app.py
- Öffnen Sie Ihren Browser und besuchen Sie die angeforderte lokale Adresse.
- Laden Sie die Video- und Audiodateien hoch, klicken Sie auf Ausführen und warten Sie, bis die Ergebnisse vorliegen.
Methode 2: Befehlszeile
- Bereiten Sie die Eingabedatei vor:
- Video (z.B..
input.mp4
), müssen klare Gesichter enthalten. - Audio (z.B..
audio.wav
), 16000Hz empfohlen.
- Führen Sie das Argumentationsskript aus:
python -m scripts.inference
--unet_config_path "configs/unet/stage2_efficient.yaml"
--inference_ckpt_path "checkpoints/latentsync_unet.pt"
--inference_steps 25
--guidance_scale 2.0
--video_path "input.mp4"
--audio_path "audio.wav"
--video_out_path "output.mp4"
inference_steps
20-50, je höher der Wert, desto höher die Qualität und desto langsamer die Geschwindigkeit.guidance_scale
1,0-3,0, je höher der Wert, desto genauer ist die Lippenform, es kann jedoch zu leichten Verzerrungen kommen.
- Sonde
output.mp4
Die Wirkung der Lippensynchronisation wird bestätigt.
Vorverarbeitung der Eingaben
- Es wird empfohlen, die Videobildrate auf 25 FPS einzustellen:
ffmpeg -i input.mp4 -r 25 resized.mp4
- Die Audio-Abtastrate muss 16000 Hz betragen:
ffmpeg -i audio.mp3 -ar 16000 audio.wav
Fluss der Datenverarbeitung
Wenn das Modell trainiert werden muss, müssen die Daten zunächst verarbeitet werden:
- Führen Sie das Skript aus:
./data_processing_pipeline.sh
- Änderungen
input_dir
für Ihren Videokatalog. - Der Prozess umfasst:
- Löschen Sie das beschädigte Video.
- Stellen Sie Video auf 25 FPS und Audio auf 16000Hz ein.
- Teilen Sie die Szene mit PySceneDetect.
- Schneiden Sie das Video in 5-10 Sekunden lange Abschnitte.
- Erkennen von Gesichtern mit Gesichtsausrichtung und Größenänderung auf 256x256.
- Filtert Videos mit einer Synchronisationsbewertung von weniger als 3.
- Berechnen Sie den hyperIQA-Score und entfernen Sie Videos unter 40.
- Das verarbeitete Video wird in der Datei
high_visual_quality/
Katalog.
Ausbildung U-Net
- Bereiten Sie Daten und alle Kontrollpunkte vor.
- Wählen Sie das Profil (z.B.
stage2_efficient.yaml
). - Lauftraining:
./train_unet.sh
- Ändern Sie den Datenpfad und den Speicherpfad in der Konfigurationsdatei.
- Anforderungen an den Grafikspeicher:
stage1.yaml
: 23GB.stage2.yaml
: 30GB.stage2_efficient.yaml
: 20 GB für normale Grafikkarten.
caveat
- Windows-Benutzer müssen die Option
.sh
Wechseln Sie zum Python-Befehl run. - Wenn der Bildschirm springt, erhöhen Sie die
inference_steps
oder passen Sie die Videobildrate an. - Die chinesische Audiounterstützung wurde in Version 1.5 optimiert, um sicherzustellen, dass die neuesten Modelle verwendet werden.
Mit diesen Schritten können die Benutzer LatentSync einfach installieren und verwenden, um lippensynchrone Videos zu erstellen oder das Modell weiter zu trainieren.
Anwendungsszenario
- Postproduktion
Ersetzen Sie das Audio für vorhandene Videos, um neue Lippen zu erzeugen, die sich für Synchronisationsanpassungen eignen. - virtuelles Bild
Geben Sie Audio ein, um Videos von sprechenden Avataren für Live- oder Kurzvideos zu erzeugen. - Spieleproduktion
Fügen Sie den Charakteren dynamische Dialoganimationen hinzu, um das Spielerlebnis zu verbessern. - Mehrsprachigkeit
Erstellen Sie Lehrvideos mit Audio in verschiedenen Sprachen, die für globale Benutzer geeignet sind.
QA
- Unterstützt es die Generierung in Echtzeit?
Nicht unterstützt. Die aktuelle Version erfordert vollständige Audio- und Videodaten und benötigt Sekunden bis Minuten zur Erstellung. - Wie hoch ist der minimale Videospeicher?
Für das Reasoning werden 6,8 GB und für das Training 20 GB benötigt (nach der Optimierung in Version 1.5). - Können Sie mit Anime-Videos umgehen?
Kann. Offizielle Beispiele sind Anime-Videos, die gut funktionieren. - Wie kann die Unterstützung der chinesischen Sprache verbessert werden?
Verwenden Sie LatentSync Version 1.5, die für die chinesische Audioverarbeitung optimiert wurde.