長尺の動画生成 - Zuntan03/EasyWanVideo GitHub Wiki

様々な手法で長尺の動画を生成する各種手法についての説明です。
Context Options の長尺ポン出しではなく、ガチャった動画を繋げたり、動画の続きを異なる動作で生成したりといった手法の説明です。

Sample/20250324_long.mp4 が 20 の動画を連結した利用事例の動画です。
19 ある連結部分はいくつか目立つ箇所もありますが、多くは自然に連結できています。

どれだけスムーズに繋げられるかは、どれだけこだわってガチャるかによります。

I2V 連結生成

生成した動画の最終フレームの画像を GetLastImage で取得して、その画像から I2V します。
GetLastImage のオプションか Upscale で画像を 2~3倍程度にアップスケールしてから I2V すると、劣化を抑えられます。

動画を繋げる際には、ConcatInterpolate でよりスムーズに繋げられます。

品質は高いのですが、出かけている間や寝ている間などにガチャを回しても、次の動画しか生成できません。
次の次はガチャ結果を確認して選んでから、GetLastImage からの I2V をすることになります。

I2V 連結で状況変化する動画を生成』も参考にしてください。

開始フレームの画像に戻る動画をつなぎ合わせる

出かけている間や寝ている間などにガチャった動画で、良いモノをピックアップしてつなぎ合わせる方法です。

逆再生動画

いわゆる折り返し再生で、最初の画像から最初の画像に戻ります。

ReversePlayback で逆再生動画を生成して、不自然でない動画を選びます。
例えば液体が下に垂れたり、振動が柔らかいモノに伝搬したりしていると不自然になります。

動画を繋げる際には、ConcatInterpolate を利用すると、折り返し部分の不自然さが減らせます。

EndFrame 指定生成

Kijai_I2vEnd で開始フレーム画像と終了フレーム画像に同じ画像を指定して生成します。

手間は少ないのですが、動きの乏しい動画になりがちです。
また、今のところ EndFrame 画像指定の動画生成は、品質が落ちがちです。

LastImage 一致動画を連結

Kijai_I2v で動画ガチャをする際に、最終フレーム画像も保存する を有効にします。
ガチャ結果から最終フレームが偶然似ている動画を選びます。
ReversePlayback で逆再生動画を用意して、異なる動画の順再生と逆再生の組み合わせを ConcatInterpolate で繋ぎ合わせます。
逆再生部分が自然な組み合わせを選びます。

LastImage 間を補間する動画を EndFrame 指定で生成

上記の『LastImage 一致動画を連結』が上手く繋がらない場合に、各動画の最終フレームを Kijai_I2vEnd の開始フレーム画像と終了フレーム画像に指定して動画を生成します。 ConcatInterpolate で A 順再生動画、A 最終画像から B 最終画像への追加生成動画、B 逆再生動画の順で動画を連結します。

ガチャの後処理ですので、不在時のガチャでは対応できません。
また、今のところ EndFrame 画像指定の動画生成は、品質が落ちがちです。

まとめ

上記の手法で開始画像に繋がる動画を複数用意できたら、仕上げをして繋ぎ合わせます。

  1. Mosaic でモザイク掛け(オプション)
  2. Upscale でアップスケール
  3. AddLabel でラベル付け(オプション)
  4. ConcatInterpolate で結合
  5. Interpolate でフレーム補間と省サイズな *.mp4 への変換