ComfyUI-H3-Motion-Contextで30秒動画を作る

長い動画を作るにはシナリオと準備が必要ですね

長尺動画が作れるカスタムノード

 MiniMax H3は1回の生成で15秒までの動画を作ることができますが,Web上の情報を見ると様々な方法で15秒以上の長尺動画を作る方法があるようです。今回は下記の記事で紹介されていたComfyUI-H3-Motion-Contextを使ってみることにしました。

雑なComfyUI+MiniMax H3関連メモ(更新中)|まゆひらa

Photogenic Weekend on Twitter / X

上記のXのポストを見ると最新版は使いやすくなっているようです。

サンプルのワークフローで試してみる

 インストールは下記のサイトを参考にしました。

H3 Motion Context を導入して、入力動画の続きの動画を生成する | iPentec

サンプルのワークフローはこちらからダウンロードしました。

https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context

このワークフローはFL2VA,Ref2VAどちらにも対応しています。今回私はRef2VAを使いましたので,ワークフロー左端にあるFast Group Bypasserノードで上2つをyes,下2つをnoにしました。

ss.jpg

また,ワークフローに配置されているH3 SLA Attentionノードを通常私が使っているノードで置き替えました。

ss2.jpg

あとはプロンプトを入力してワークフローの中央付近にあるH3 Motion Context ChainノードのRun/Re-rollボタンを押すと最初の動画を生成します。

ss3.jpg

この後の手順が2つに分かれています。

  • できあがった動画の続きを生成するとき

→プロンプトを続きの内容に書き替えてH3 Motion Context ChainノードのApproveボタンを押します。

  • できあがった動画を作り直すとき
→プロンプトはそのままで,H3 Motion Context ChainノードのRun/Re-rollボタンを押します。

これを繰り返して15秒以内の動画を複数生成し,結合することで長尺動画にするという仕掛けになっています。
最新バージョンはH3 Motion Context Chainノードのボタンを押すだけで続きの動画を生成できるようになっていて,1つのワークフローだけで完結するところが使いやすくなったポイントのようです。

サンプルワークフローの注意点

 このワークフローはとてもよくできているのですが,注意点が1つあります。
それは,プロンプトを入力するノードが他のノードにつながっていないことです。私はこれにはまってしまい,プロンプトに入力した通りの動きにならないと思いながら使っていました。ワークフローのプロンプトを入力するノードを移動したときに気づきました。

ss4.jpg
このノードが他につながっていないので機能しません
ss5.jpg
生成する前につないでください

上記のサンプルワークフローをダウンロードして使う方は動画を生成する前にノードをつないでください。

生成したテスト動画

 お試しで30秒程度の動画を作ってみたいということで以下のような設定でテストしました。

  • 1枚の参照画像をもとにRef2VAで生成
  • 参照画像はKrea2で生成した832x1216ピクセルの画像
  • 登場人物は1名,参照画像は正面からの姿のみ
  • 参照画像を動画の最初のフレームにする
  • 生成する動画は2:3で0.7M(704x1056)ピクセルの10秒動画×4本

10秒動画を4本作りますが,最初の動画以外は生成した動画の長さは1秒短くなりますので,トータル37秒となります。

できあがった動画の結合

 動画を連結する方法もいろいろあるようですが,今回はffmpegを利用してみました。
インストールは下記のサイトを参考にしました。

動画の編集ツールFFmpegのインストール手順 - MRが楽しい

ffmpegで動画を連結する手順は以下のWebサイトを参考にして進めました。

FFmpegで複数の動画を連結する - MRが楽しい

  • 連結する順序を指示するテキストファイル(a.txt)を作成します。中身は連結する順番にファイル名を記述します。

ss6.jpg

  • 連結する4本の動画ファイルと連結する順序を指示するテキストファイル(a.txt)をフォルダにまとめます。

ss7.jpg

  • フォルダの白い部分で右クリックし,ターミナルで開くを選びます。

ss8.jpg

  • ターミナルが開いたら以下のように入力してファイルを結合します。

ffmpeg -f concat -safe 0 -i a.txt -c copy movie_a.mp4

a.txtファイルで指定した動画ファイルを連結して新たにmovie_a.mp4というファイルをつくります。この方法だと動画ファイルを連結するときに再エンコードしないので,高速に作業できます。

できあがった30秒動画

 美術館の廊下を歩き回るだけという変わった動画です。

廊下を曲がったのに同じ構図の廊下が出てきたり,女の子の髪型が最初と最後で変わっていたりと不自然な点もありますが,1枚の参照画像からここまで作れるのは面白いと思いました。連結したつなぎ目もそれほど目立たないようになっているかと思います。 やってみて感じたことは作りたい動画のストーリーをしっかり考えて,それに合わせた参照画像を準備しないといけないということでした。登場人物は正面だけでなく,横向きや後ろ向きなどを必要に応じて準備する,人物と背景の参照画像は別にするなど,結構大変な作業であることを実感しました。

この記事へのコメント

コメントはまだありません。

コメントを送る

必須
 
※ メールアドレスは公開されません
任意
必須
Loading...  画像の文字を入力してください
9
10
11
12
13
14
15
16