
Die Idee dieses Repositorys besteht darin, automatisch eine Reihe von Trailer -Kandidaten für ein bestimmtes Video zu generieren, der Benutzer muss nur die Videodatei und einige Textparameter bereitstellen, und alles andere wird vorsichtig.
Zunächst nehmen wir optional die Handlung des Videos bei IMDB und teilen es in Nebenhandlungen auf, anstatt von IMDB zu übernehmen, können Sie auch Ihr eigenes Handlung angeben oder es ändern. Diese Nebenhandlungen beschreiben die Hauptteile des Videos grob. Als nächstes erstellen wir eine Stimme für jede Nebenhandlung. Jetzt, da wir den gesprochenen Teil des Trailers haben, müssen wir nur kurze Clips nehmen, die jeder Nebenhandlung entsprechen und die Stimme über sie anwenden, dies tun dies, indem wir viele Frames aus dem Video probieren und einige der ähnlichsten Frames für jede Nebenhandlung aufnehmen. Wir haben die Bilder, die jeden Subplot für jeden Schritt ausführen, der nächste Schritt, um ein paar Sekunden ab jedem Rahmen ab dem Rahmen zu entgehen. Nachdem wir den Audio- und visuellen Teil des Trailers generiert haben, müssen wir nur jeden Audio mit dem entsprechenden Clip kombinieren und schließlich alle Clips zusammen in den endgültigen Trailer verbinden.
Alle diese Schritte generieren Zwischendateien, die Sie inspizieren und manuell entfernen können, was Sie nicht gerne verbessern möchten.
Hinweis: Mit den Standardparametern wird für jede Nebenhandlung nur ein Audio und ein Clip generiert, wodurch nur ein Trailerkandidat erstellt wird.
n_retrieved_images = 3Sie mehr Trailer -Kandidaten erstellen oder mehr Optionen für Audios und Clips zur Auswahl haben, können Sien_audiosundn_retrieved_imageserhöhen. Beachten Sie einfachn_audios = 3dass die Anhängerkandidaten geometrisch geometrisch erhöhen.
Der empfohlene Ansatz zur Verwendung dieses Repositorys ist bei Docker. Sie können jedoch auch ein benutzerdefiniertes Gebiet verwenden. Stellen Sie einfach sicher, dass Sie alle Abhängigkeiten installieren.
Der Benutzer muss nur zwei Eingänge bereitstellen , die Videodatei und die IMDB -ID aus diesem Video. Danach können Sie zu der Datei configs.yaml wechseln und die Werte entsprechend anpassen, video_id ist die IMDB -ID, und video_path sollte auf die Datei des Videos verweisen. Möglicherweise möchten Sie auch project_name auf den Namen Ihres Videos aktualisieren und mit reference_voice_path eine Referenzstimme angeben.
Die URL eines Films bei IMDB wird so aussehen wie diese "https://www.imdb.com/title/tt0063350". Der Ausweis wird nach dem 0063350 title/ in diesem Fall für "Night of the Living Dead" die IMDB -IMDB -IMDB -Information, aber Sie können auch Serien -Episoden finden.
project_dir: 'projects'
project_name: Natural_History_Museum
video_path: 'movies/Natural_History_Museum.mp4'
plot_filename: 'plot.txt'
video_retrieval:
video_url: 'https://www.youtube.com/watch?v=fdcEKPS6tOQ'
plot_retrieval:
video_id:
subplot:
split_char:
voice:
model_id: 'tts_models/multilingual/multi-dataset/xtts_v2'
device: cpu
reference_voice_path: 'voices/sample_voice.wav'
tts_language: en
n_audios: 1
frame_sampling:
n_frames: 500
frame_ranking:
model_id: 'clip-ViT-B-32'
device: cpu
n_retrieved_images: 1
similarity_batch_size: 128
clip:
min_clip_len: 3
audio_clip:
clip_volume: 0.1
voice_volume: 1.0
Erstellen Sie das Docker -Bild
make buildFühren Sie die gesamte Pipeline aus, um den Trailer aus einem Video und einer Handlung abzurufen
make trailerFühren Sie die gesamte Pipeline aus, um den Trailer aus einem Video zu erstellen und die Handlung von IMDB abzurufen
make trailer_imdbFühren Sie die gesamte Pipeline aus, um den Trailer aus einer Handlung aus zu erstellen und das Video von YouTube herunterzuladen
make trailer_youtubeFühren Sie die gesamte Pipeline aus, um das Trailer zu erstellen, das das Video von YouTube herunterlädt und die Handlung von IMDB abholt
make trailer_imdb_youtubeFühren Sie den Video -Abrufschritt aus
make video_retrievalFühren Sie den Plot -Abrufschritt aus
make plot_retrievalFühren Sie den Nebenhandelsschritt aus
make subplotFühren Sie den Sprachschritt aus
make voiceFühren Sie den Rahmenschritt aus (Frame -Probenahme)
make frameFühren Sie den Image_Retrieval -Schritt aus (Frame -Ranking)
make image_retrievalFühren Sie den Clip -Schritt aus
make clipFühren Sie den Schritt audio_clip aus
make audio_clipFühren Sie den Schritt joins_clip aus
make join_clipWenden Sie Lint und Formatierung auf den Code an (nur für die Entwicklung benötigt)
make lint Für die Entwicklung stellen Sie sicher, dass requirements-dev.txt und make lint installieren, um den Codierungsstil aufrechtzuerhalten.
Standardmäßig verwende ich XTTs von Coqui AI. Das Modell befindet sich unter der Coqui Public Model Lizenz. Schauen Sie sich dort an, wenn Sie die Ausgänge hier verwenden möchten.