UE5のMovie Render Queueを用いてmp4形式の動画を出力する方法

# はじめに


UE5のシーケンサーで動画出力を行う際に、
ffmpegを利用してmp4として出力する方法を示します。
この記事ではWindows10、Unreal Engine 5.0.2、ffmpeg version6.0を使用しております。

## ffmpegのダウンロード 


まずは[ffmpeg](https://ffmpeg.org)のダウンロードしていきます。 
上記のリンクに飛ぶとDownloadボタンがあるためクリックします。 
![ffmpeg01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/1b454c8b-78d7-0673-d374-953b5fc1d5d1.png)
画面左下にあるOS選択画面からWindowsを選択し、 
Windows EXE Files欄の`Windows builds from gyan.dev`をクリックします。 
![ffmpeg02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/af0bd8f7-3008-28da-9ae3-b3e97824f9a0.png)
スクロールすると、release builds欄があり、 
`ffmpeg-release-full.7z`をクリックしてダウンロードします。
![ffmpeg03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/46fc47fd-a88e-991c-175c-a8f003996d6b.png)
ダウンロードしたファイルを解凍します。 
ファイルはどこに置いてもいいですが、私はCドライブ直下に配置しました。 
`ffmpeg.exeまでのパスを後ほど使用します。`
![ffmpeg04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/976bd0eb-384e-ba24-81f2-267dd1823922.png)

## プロジェクトの準備 


今回はマーケットプレイスに無料で公開されている[Meerkat デモ](https://www.unrealengine.com/marketplace/ja/product/meerkat-demo-02)を使用します。 
もちろん自分で作成したプロジェクトでも大丈夫です。
![Meerkat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/80968a3d-5520-621b-16e4-cef778e627f8.png)

## プラグインの追加
プロジェクトの準備が完了したらプラグインの追加を行います。
Meerkatデモにはデフォルトで追加されているため必要ないですが、
自分で作成したプロジェクトを使用する場合は以下の操作を行ってください。

編集 > プラグインからプラグインブラウザタブを開きます。 
![plugin01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/96d14250-ea60-31fa-e4ec-13c3415116ab.png)
検索欄にmovie render queueと入力し、 `Movie Render Queue`と
`Movie Render Queue Additional Render Passes`を追加します。
![plugin02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/7de611d5-6127-e176-77b3-22702a7129f4.png)
追加後はプロジェクトを再起動します。
これでプラグインの追加は完了です。


## プロジェクトの設定


レンダリングをmp4形式で行う設定を行います。 

編集 > プロジェクト設定からプロジェクト設定タブを開きます。
![ProjectSetting01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/7c337dbb-757a-f48e-c973-ad666b22b8f5.png)
プラグイン欄にある`Movie Pipeline CLI Encoder`をクリックします。 
デフォルトだとCommand Line EncoderはCodec Help Text以外が空欄になっています。
![ProjectSetting02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/97fd2384-baab-920b-a4cc-757d8130338a.png)
Command Line Encoderに以下の条件を記載します。
|項目|値|
|--|--|
|Executable Path|ffmpeg.exeの絶対パス|
|Video Codec|libx264|
|Audio Codec|aac|
|Output File Extension|mp4|


![ProjectSetting03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/a6636e3f-c070-c284-d262-494279bf99e8.png)
これでプロジェクトの設定は完了です。

## Movie Render Queueの設定 


まずはシーケンサーを開きます。
Meerkatデモのシーケンサーは/Game/LevelsにあるMaster_SEQです。 
![MovieRenderQueue02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/9d3cb33c-3d92-0495-29d3-f60eeb43523a.png)
レンダリング方式がムービーレンダーキューであるか確認します。
Render Movieボタンの横にある`︙`をクリックすると確認できます。
![MovieRenderQueue01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/29b071b5-bc05-0394-3162-075fb3813af2.png)
確認できたら`Render Movieボタン`をクリックしてムービーレンダーキュータブを開きます。
![MovieRenderQueue03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/92385633-6cdd-8415-850f-b9328e57137d.png)
タブが開いたらタブ内の`Unsaved Config`をクリックしてレンダリングの設定を行っていきます。
![MovieRenderQueue04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/13a6f230-3178-d1a6-78f4-b16874f1ba4d.png)
左上の設定から`コマンドラインエンコーダ`を選択します。 
![MovieRenderQueue05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/ffd91805-38b2-7c80-d52a-e490a48fb64a.png)
エクスポート欄にコマンドラインエンコーダが表示されます。 
動画だけが欲しい場合は`Delete Source Files`にチェックを付けます。 
![MovieRenderQueue07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/3f2c57af-932d-f83f-823d-5b5ebbcdb4b1.png)
これはレンダリング後に画像ファイルを削除するオプションです。 
チェックを付けていない場合は画像ファイルが大量に保存されます。 
![MovieRenderQueue06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/f15c588e-3f0a-bc61-bef6-5256f9c6a3da.png)
チェックを付けると、最終的に動画ファイルだけが残るようになります。 
![MovieRenderQueue08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/3347cb16-0dac-ed37-27b7-3adea5788bc8.png)
最後に設定欄の出力を確認します。
出力では出力先ディレクトリやファイル名、解像度などを変更することができます。
お好みで変更してください。
![MovieRenderQueue09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/53d79c16-793c-ff03-d127-106df68e2a12.png)
注意点として、`出力先ディレクトリに日本語が入っているとエラーが発生します。` 
そのため、Meerkatデモをそのまま使用している方は
プロジェクトのディレクトリ名をMeerkatやMeerkatDemoなどに変更してください。 

設定が完了したら右下の承諾をクリックします。
これでMovie Render Queueの設定は完了です。 


## レンダリング 


レンダリングを行っていきます。
ムービーレンダーキュータブの右下にあるレンダリング(ローカル)をクリックすると開始します。
![MovieRenderQueue10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/7c9177d5-29d7-f237-2999-fd88234e26d5.png)
レンダリングを開始するとレンダリングのプレビューウィンドウが開かれます。 
このウィンドウはレンダリング終了後に自動的に閉じられます。 
![Rendering01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/3ab9a6fa-3fb4-a2c8-2712-3597c6d938b2.png)
レンダリングが完了したら、設定した出力先ディレクトリにmp4形式で出力されます。
デフォルトの出力先は[プロジェクトのパス]/Saved/MovieRendersです。 
![Rendering02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2534006/93ed6881-8eb1-e6a6-7191-8a02e8a79317.png)


## まとめ 
ffmpegを用いれば後からmp4形式に変換できますが、 
何度も変換する場合は ~~面倒臭い~~ 時間と手間がかかります。
そのため、Movie Render Queueを用いてmp4形式の動画を出力する方法について紹介しました。 
参考にしていただければ幸いです。