メモリ32GBでも足りない……。
とある日にエンコードしていたらメモリが足りないので出力エラーになって中断してしまう出来事が起こりました。Media Encoderってうまく行かないことが多いですよね……。
今回は、そんなMEでエンコードエラーになったときに試してみたいことをちょこっとだけ自分自身のメモがてらここに書いています。なので参考になったりならなかったりすることをここで宣言しておきます!
目次で飛べます!
After Effects → Media Encoderで書き出しするときに、Dynamic Linkサーバで永遠に読み込みされる事件
たまに、ダイナミックサーバー(情報の受け渡し)の際に、永遠に処理が終わらないことがあります。そのときは、一度Media Encoderを終了して、タスクマネージャーに残っているAfter Effectsなどのソフトを強制終了すると直ることがあります。
- Media EncoderやAfter Effectsなどを一度すべて終了させます。
- タスクマネージャーを開きます。
- 画像のように「Adobe After Effects」が残っているのでそれを選択しつつ「タスクの終了」をクリックします。
- 再度After Effectsを起動してMedia Encoderでもう一度書き出しします。
無理矢理感はあるものの、この事件は筆者の場合これで解決しました。
メモリ関連のエラーなら環境設定から使用するメモリを調節する
タスクマネージャーから確認してみると、メモリを食いすぎている……なんてことで出力が中断されることがあります。
まず、最大メモリを調節しましょう。
「編集」→「環境設定」→「メモリ」→「他のアプリケーション用に確保するRAM」から調節することができます。これを大きくすると、MEなどで使用されるメモリ(下の「使用可能なRAM」)が小さくなります。
※(次の製品=Adobe製品で)使用可能なRAMは、Adobeのソフトで(共通して)使われるメモリの合計数です。ちなみにMedia Encoderしか起動していなければ、この最大値がフルに使われます。
ちょっと分かりづらいですが、どのぐらい確保しておくかを青いところで設定するというイメージです。
ただし、筆者の環境ではなぜかこの最大値を超えてエンコードされました……。バグなのだろうか。
しびれを切らしたので、筆者は「禁断の技」を使うことにしました。
(メモリ不足による)完全なやけくそ:仮想メモリを使う(上級者向け)
メモリ、足りなすぎ事件。
根本的なメモリ不足、やはり、この問題にたどり着くのでしょう。
とても長い動画を編集していると、必ずと言っていいほど直面するのが、メモリ不足です。ならば、メモリを増やしましょう。これが一番の解決策です。
といっても、カスタマイズ(増設)するのは費用がかかるし、ノートパソコンであればそもそも改造ができないことも多いです。
ここで登場するのが「仮想メモリ」という技術。
これは、その名の通り「足りない分のメモリを仮想的に作ってしまおう」というものです。8GBしか搭載されていないのに、今回のエンコードではさらにメモリが必要そうである……というときに役に立ちます。
ただし、デメリットも存在します。実はこの仮想メモリ、パソコン上のどこに作られるかというと、HDDやSSDなどのドライブに作成されます。
つまり、仮想メモリをHDDに作成すれば、仮想メモリが使用されている部分だけ、メモリの速度がHDDの速さになります。つまり、めちゃくちゃ遅い。
ならば、SSDに置けば解決……と思うかもしれませんが、仮想メモリはメモリのようにゴリゴリ使用するので、SSDの寿命を一気に早める危険性があります。
この点に注意して行ってください。
しかしながら、これを使えば、「8GBしかない + SSDに2GBほど確保して = 全体で10GB として使おう」といったことができるようになります。
以下、やり方です。
- 左下にあるWindowsの検索窓から「パフォーマンス」と入力し、出てきた「Windows のデザインとパフォーマンスの調整」をクリックします。
- 「パフォーマンス オプション」が出てくるので、仮想メモリの欄の「編集」をクリック。
- 「すべてのドライブのページング ファイルのサイズを自動的に管理する」のチェックを外します。
- Cドライブの「システム管理サイズ」はそのままにします(何もいじらない!)。
- 他にDドライブなどの他のドライブがあるので、そのドライブを選択し(青にする)、下の項目から「システム管理サイズ」に変更します。
- 設定をクリックします。(忘れずにクリックしてください!)
- 「OK」を(2回)クリックします。
- 「再起動をしなければ有効になりません」と出てきたら、「OK」をクリックします。そして再起動します。
これで何が起こるの?
初期状態では、Cドライブに仮想メモリは割り当てられています。そして、Cドライブが9割に到達すると、仮想メモリの作成をストップ。アプリケーションが使えるメモリの余裕が完全に底をつくことになります。
↑仮想メモリの上限=Cドライブの上限(9割程度) 他のドライブは使用されず
しかし、今回の設定によって、「C以外の、指定したドライブにも仮想メモリを作ってもいいよ」と宣言しました。これで、ほとんどの場合底をつくことがなくなったのです。
つまり、仮想的なメモリをそのHDD/SSDの容量が約9割になるまで広げ、パソコンを持たせることができます。
↑仮想メモリの上限=Cドライブと指定したSドライブの上限(それぞれ9割程度)
これで、32GBあるメモリに加えて、72764MB(約71GB)も割り当てられたので、合計103GBも使用できるようになりました。なお、常時使われるわけではなく、必要に応じて縮小/拡大します。
これで、メモリ問題は筆者の環境では改善しました。
なお、仮想メモリの詳しい扱い方については、以下の記事をご覧ください。
最後に(最終手段)
もしどうしてもエンコード出来ずに困ったら、Media Encoderを使用せずに書き出してみましょう。
After EffectsやPremiere Proには、自身のソフト内にエンコーダー(出力するやつ)が備わっています。
Premiere Proであれば、これで書き出しでも問題ありません。また、After Effectsでは、AVIファイルなどの形式に一度書き出して→Media Encoderや他のエンコーダーを使って再度書き出せばおkです。