Stable Diffusion AI動画生成時に発生するOutOfMemoryError の解消方法

かな(見習い)
かな(見習い)

よーし今日は教えてもらったやり方でAI動画を作るぞ!

んっ?アウトオブメモリーエラー?

よーしよくわからないからAI動画作るの諦めよう!

ナカ(マスター)
ナカ(マスター)

諦めたらそこで試合終了だぞ☆

メモリを使いすぎているみたいな意味合いの
エラーだからサイズを抑えるような改善を
すればエラー解消可能だ☆

かな(見習い)
かな(見習い)

マスター、AI動画生成がしたいです!

アウトオブメモリーエラーの解消方法を
教えてください!

OutOfMemoryErrorの発生原因

AI動画を作成しているとOutOfMemoryErrorのエラーが発生して、
動画が生成できない現象が発生する場合があります。

AI画像生成ではなかったタイプのエラーなので面を喰らいがち
ですが、

要するに、

「生成時に容量を使いすぎているから抑えてください」

みたいな内容なので、容量を下げるような動きをすることで
解消に繋がりやすくなります。

エラー文は他と同様、読まなくてOK

OutOfMemoryError発生時に大量の文言が出てきますが
これらを理解するのは至難の業になります。

これはStable Diffusionの他のエラーと同様で
エラーを理解しようとせずに、

「最初と最後と太字だけ読んで何をすれば改善されそうか
考える」

みたいな考えで進めるとけっこう解決に繋がりやすいです。

それではエラーの解消方法について解説します。

OutOfMemoryErrorの解消方法

1.サイズ(解像度)の改善による解消方法
動画生成の基本サイズは以下になります。
縦横比は逆でも問題ないです。

・「Width:512,Height:512」
・「Width:512,Height:768」
・「Width:512,Height:1024」
・「Width:768,Height:1024」

この基本サイズから大きな値に離れるほど
容量が基本水準から離れていき、

OutOfMemoryErrorの発生率は上がります。

なのでできる限り基本水準に近づけるように
サイズを変更してみてください。

2.高画質化をやめてみる

Hires.fixのような高画質化はかなり
容量を必要とするので、

使っている場合は一度やめてみることで
エラーが解消される場合があります。


3.元動画のフレームレート(FPSの値)を下げる



動画になると突然頻出するフレームレートっていう
数値があるんですけど、

これを下げることで容量を抑えれるのでエラー解消に
繋げることができます。

フレームレートはStable Diffusion内では「FPS」と
書かれているところが該当箇所になります。

FPSって何なの?

余談ですが、「FPS」は「frames per second」
の略で、

framesは「画像」で、secondは「秒」、perは「につき」
という意味なので

FPS=「1秒につき何枚の画像が入っているか?」

FPSが大きい=1秒間にたくさん画像が入っている=なめらかな動画になりやすい

FPSが小さい=1秒間に少ない画像が入っている=カクカクした動画になる可能性がある

素材動画を入れて動画を生成する場合は
素材動画のフレームレートを下げる必要が
あり、やり方はこちらにまとめています。

(2章の「用意した動画を軽くする」の箇所です)

https://yomutoku.website/2024/02/10/stable-diffusion-aidouga-tukurikara/


4.動画の時間を短くする


動画の時間を短くすることでエラー解消に繋がる可能性が
あります。

動画を短くすると「Number of frames」の値が
小さくなります。

「Number of frames」=総フレーム数

という意味で、

動画の秒数✖️フレームレート(FPS)=「Number of frames」

になります。

なので使う動画の秒数を短くすると「Number of frames」
の値も小さくなります。

フレームレート(FPS)を下げても「Number of frames」
の値を小さくできますが、

フレームレート(FPS)は最小値が決まっているのと、
低くすることでカクカクした動きになる可能性も
あるので、

フレームレート(FPS)を下げれない場合は
使う動画の秒数を短くするのを検討してみるのが
良いかと思います。

まとめ:捨てていいメモリーもある

Stable DiffusionでAI動画生成時に発生する
OutOfMemoryErrorの解消方法について
解説しました。

メモリーは基本的には使っていっていいんですけど
エラーが出るくらい使うのは過剰なので、

今回お伝えした方法を使ってメモリーを抑えて
エラーを解消させてみてください。