
このリポジトリのアイデアは、特定のビデオの多くのトレーラー候補を自動的に生成することです。ユーザーはビデオファイルといくつかのテキストパラメーターを提供するだけで、他のすべてが注意してください。
まず、オプションでIMDBでビデオのプロットを取得してサブプロットに分割します。IMDBから取得する代わりに、独自のプロットを提供したり変更したりすることもできます。これらのサブプロットは、ビデオの主要部分を大まかに説明し、次に各サブプロットの音声を生成します。トレーラーの音声部分が作成されたので、各サブプロットに対応する短いクリップを撮影し、それらの上に音声を適用する必要があります。これをビデオからサンプリングし、各サブプロットに最も類似したフレームをサンプリングすることでこれを行います。トレーラーのオーディオとビジュアル部分を生成した後、各オーディオと対応するクリップを組み合わせて、最後にすべてのクリップを最終トレーラーに結合する必要があります。
これらの手順はすべて、結果を改善するのが嫌いなものを検査して削除できる中間ファイルを生成します。
注:デフォルトのパラメーターを使用すると、各サブプロットに対して1つのオーディオと1つのクリップのみが生成されるため、1つのトレーラー候補を作成します。より多くのトレーラー候補を作成したい場合、または選択できるオーディオとクリップのオプションが増えたい場合は、
n_audiosとn_retrieved_imagesを増やすことができます。トレーラー候補者は、n_audios = 3およびn_retrieved_images = 3の場合、これにより幾何学的に増加することに注意してください。
このリポジトリを使用するための推奨されるアプローチはDockerを使用していますが、カスタムVENVを使用することもできます。すべての依存関係をインストールしてください。
ユーザーは、ビデオファイルとそのビデオからIMDB IDの2つの入力のみを提供する必要があります。その後、 configs.yamlファイルに移動して値を調整することができます。それに応じて、 video_id IMDB IDになり、 video_pathビデオのファイルを指す必要があります。また、 project_nameビデオの名前に更新し、 reference_voice_pathで参照音声を提供することもできます。
IMDBでの映画のURLは、この「https://www.imdb.com/title/tt0063350」のように見え0063350 。IDは、「Living Deadの夜」の場合はtitle/の後の整数部になります。
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
Docker画像を作成します
make buildパイプライン全体を実行して、ビデオとプロットから始まるトレーラーを作成します
make trailerパイプライン全体を実行して、ビデオから始まり、IMDBからプロットを取得する予告編を作成します
make trailer_imdbパイプライン全体を実行して、プロットから始まり、YouTubeからビデオをダウンロードするトレーラーを作成します
make trailer_youtubeパイプライン全体を実行して、YouTubeからビデオをダウンロードし、IMDBからプロットを取得するトレーラーを作成します
make trailer_imdb_youtubeビデオ検索ステップを実行します
make video_retrievalプロット検索ステップを実行します
make plot_retrievalサブプロットステップを実行します
make subplot音声ステップを実行します
make voiceフレームステップを実行します(フレームサンプリング)
make frameimage_retrievalステップ(フレームランキング)を実行する
make image_retrievalクリップステップを実行します
make clipaudio_clipステップを実行します
make audio_clipjoin_clipステップを実行します
make join_clip糸くずとフォーマットをコードに適用します(開発にのみ必要です)
make lint開発のために、必ずrequirements-dev.txtをインストールし、 make lintを作成してコーディングスタイルを維持してください。
デフォルトでは、Coqui AIのXTTSを使用しています。モデルはCoqui Public Modelライセンスの下にあります。ここで出力を使用する場合は、必ず確認してください。