長尺の動画生成 - 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 画像指定の動画生成は、品質が落ちがちです。
まとめ
上記の手法で開始画像に繋がる動画を複数用意できたら、仕上げをして繋ぎ合わせます。
Mosaic
でモザイク掛け(オプション)Upscale
でアップスケールAddLabel
でラベル付け(オプション)ConcatInterpolate
で結合Interpolate
でフレーム補間と省サイズな*.mp4
への変換