m2mというScriptを利用すると簡単に動画を動画として書き出せる。Diffusionは画像をいれてAIに再描画させることができるが、基本的には1枚ずつとなる。バッチ処理もあるのだが、結局複数の静止画データ(png等)を用意する必要があり面倒。そこで、動画ファイルをそのまま放り込む方法を紹介する。DiffusionにControlNetのExtensionがインストールされている必要がある。これは別記事に譲るので、まだ入れていない人は入れておこう。ControlNetの基本的な使い方だけは知っておく必要があるので注意。今回ご紹介するのは、抹茶もなかさんが開発されているControlNet向けのスクリプトである。Twitterこの場を借りて素晴らしいプログラムに感謝いたします。ControlNetの設定が必要。上でも書いたが最新のControlNetがインストールされていれば拡張スクリプトは同梱されている。extensionをチェックしておく。この項目がチェックされていないとエラーで動画ファイルがControlNetに送られ無いためコンソールにエラーが出る。settingsを押す。UIを押して準備完了。実際に作例を使ってやり方を解説する。今回は次の動画データを用意した。ファイル形式はmp4動画ファイルに関してはどのような形式が利用できるのかといった詳細な内容はよくわかっていない。ある動画ファイルならいけそうに思えるが、ダメならエンコードが必要かもしれない。txt2imgタブでいつも通りtxt2imgタブで行う。img2imgタブからでもできる。その場合1枚だけ合成するイメージとして利用(全フレームに適用)プロンプト等AI画像を使って映像データにする場合はフレーム間の整合性がなくなりチカチカとちらつきやすい。そこで、プロンプト等である程度同一の画像が出るように絞ると良い。画像サイズを設定(元動画が少し横長なので変更)Seed値を1以上に設定して固定(-1のままだとチラツキやすい)ControlNetの設定ControlNetをオンにして設定する。上でも書いたが、この設定に関してはControlNetを使って画像を生成したことがある程度の知識は必要。このままだと設定画面が出ないので、下に現れた折りたたみタブをクリックして開く。するとi2iと同じようになにか画像をドロップするようなUIが出るので、そこに動画ファイルを突っ込めばOK!実行あとは通常通り右上のGenerateボタンで生成スタート。コンソールを見てエラーが出ていないかだけ確認しよう。extension)をスキップしていると思う。処理が終わらないことがあるよくわかってないのだが動画のフレーム数が終わっても延々と画像が出力されることがある。このスクリプトはDuration設定だけしか付いていないシンプルなものだが、これが関係しているのかも?欲しいフレーム数書き出されても実行が続く場合、強制終了したほうが良いかも。通常の1枚絵と違って生成結果がUI上で見れるわけではないので注意。動画ファイルは/stable-diffusion-webui/outputs/txt2img-images/controlnet-m2m/配下にgif動画として書き出される。こちらはファイルサイズが大きくなりがち。一緒にpng画像の連番としても書き出されているので、小さくまとめたい場合は自前でpng連番をエンコードしてやる。Resolveで結合するときの簡易解説を過去に書いている。Resolveでmp4で書き出して完成。ツキはあるが波紋の輪郭がControlNetで切り取られて映像に反映されている。細かい設定はできないが、とにかくサクッと映像化を試したい場合は有効かもしれないので今回紹介した。試してもらえたらと思う。DiffusionControlNetこの記事をシェア著者Ultra-Noob謎の技術研究部部長。3DCG以外にもDTMやプログラミング等も研究する。謎の技術研究部とはプライバシーポリシーホーム(自動スクロールなし)ご意見、お問い合わせ。