シーケンサによるイベントを、プレビュー時の挙動のまま動画キャプチャしたい

まず、UE4での動画キャプチャについて、シーケンサのムービーレンダリング機能を使用するのが一般的かと思います。

352545-rapture-20211119183228.png

しかし、シーケンサのカット遷移をプログラム制御しているような場合、シーケンサからの直接再生とプレビュー時の再生で挙動が変わることになります。(例:シーケンサ上では単に複数カットを繋げているだけで、プレビュー時にプログラム制御でボタン待ちを入れることで、ボタンを押すことで次々とカットが遷移していく作りの場合。シーケンサの直接再生だとボタン待ちが行われず、一瞬で最後のカットまで進んでしまう。)

そういう実際のプレビュー時の挙動をキャプチャして動画化したいのですが、シーケンサのムービーレンダリング機能はプレビュー中には使用できなさそうで、やり方を模索しています。(プレビュー中だと「ムービーキャプチャ」ボタンが「(PIEを終了して開始)」という表記でグレーアウトしていた。そもそもC++やブループリントからこのレンダリング機能にアクセスできるのかが不明)

コンソールコマンドのStartMovieCaptureを使用すればプレビュー中の画面そのままキャプチャできるのですが、StartMovieCapture自体がMatineeに関連したもので、Sequencerに完全移行している現在では非推奨なものとなっていること、またフレームレート指定などもできないことから使用できなさそうかなと感じています。

本題とは少しずれますが、StartMovieCapture(とStopMovieCapture)について、非推奨というだけならそれを承知で使うこともできますが、サポート自体切られてUE5などで機能自体無くなることもある可能性を考えると使えないので、その辺りについても知りたいです。

また、

ここを見ると、Movie Pipeline Queue Engine Subsystemを使ってムービーレンダーキューにアクセスして動画キャプチャを行う方法もありそうですが、実行時にレベルを読み直す過程があったり、そもそもランタイムビルド向けのような内容だったりで、プレビュー中からそのまま動画キャプチャ開始、というわけにもいかなそうで、少々手詰まり感を感じています。

ちなみにシーケンサのムービーレンダリング機能についてはフレームレートや解像度指定、連番静止画での出力サポート等があり強力な機能だと思っています。

そこでまとめると、

・シーケンサのレンダリング機能をプレビュー中に呼び出してキャプチャする方法

・Movie Pipeline Queue Engine Subsystemを使用しての、プレビュー中からの動画キャプチャ

・StartMovieCapture(とStopMovieCapture)についての今後のサポート事情

について、有識者の見解を得たいと考えていますので、どなたかご回答いただけると幸いです。(分かる部分があればその部分についてだけでもお答えしていただければと思います)

以上です、よろしくお願いいたします。

これはSequencer(InGame)でないとダメですか?
最初のやりたいことを見ている限り、単に別ソフトで動画キャプチャすれば良いように思います

こちらの思っているものとプレビューの定義が違うようなのでまずすり合わせは必要だと思います
Sequencerのプレビューとは、Sequencerのウィンドウで再生ボタンを押すことです
Playして(PIE)SequencePlayerを実行するのはプレビューとは呼ばないのでは、と
あくまでこれはEngine側の動作が基準です

Sequencerから動画を作成する機能(MovieRenderQueue)は、基本的にLevelSequenceを最初から最後まで実行した結果をレンダリングするものと捉えています
ですので、Movie Pipeline Queue Engine Subsystem では、GameModeOverride等の組み合わせ次第ではユーザーの入力の結果を反映することはできますが、Sequencerを一時停止させたりといったSequenceの再生を制御するような挙動は実現できません
なお、MovieRenderQueueはレンダリング中に人間が入力することは考慮していないようで、たとえ入力できたとしても正常に動作させることは困難を極めます

StartMovieCapture(とStopMovieCapture)についての今後のサポート事情

これについてはMatineeの削除に伴い削除されると考えています

個人的な見解ですが、昨今のゲーム事情を鑑みると、UnrealEngineの内部にプレイ動画を録画する機能を実装する、という流れは無いと考えています
PCを含め、現行のどのコンソール機にもOS側の基本機能として画面キャプチャ機能が備わっています
ですので、UnrealEngineが改めてランタイム中の動画出力機能を備える必要はないと思われます

ゲーム以外の用途(映画等)では、基本的に外部の入力によって動的に変化させる必要がありません
予め決められたカットを、より高精細に描画する機能が求められると思います
それらの部分は、MovieRenderQueueを中心とした各機能が担うことになるでしょう

まず、ご回答いただきありがとうございます。

これはSequencer(InGame)でないとダメですか? 最初のやりたいことを見ている限り、単に別ソフトで動画キャプチャすれば良いように思います

こちらですが、申し訳ありません。前提の要件の説明に不足している部分がありました。要件として
シーケンサのイベント開始と同時にキャプチャを走らせたい(キャプチャ開始のフレームがずれたり不安定だったりしない)、というものもあり、
ゲーム処理と動画キャプチャを連動させたいというのも大きかったので、外部の動画キャプチャソフトではなくエンジン側でなにかサポートされていないか知りたかったというのが質問の意図になります。

こちらの思っているものとプレビューの定義が違うようなのでまずすり合わせは必要だと思います Sequencerのプレビューとは、Sequencerのウィンドウで再生ボタンを押すことです Playして(PIE)SequencePlayerを実行するのはプレビューとは呼ばないのでは、と あくまでこれはEngine側の動作が基準です

こちら、ご指摘の通りですね…。失礼しました。私の書いている「プレビュー」はPIEのことを指していました。(齟齬が発生しないようになるべく一般的な用語で伝えようと変に気を回した結果、逆におかしくなってしまっていました)

ただ意図は汲み取っていただけていたようで大変助かります。InGameでのシーケンサ再生をキャプチャしたかったという話になります。

StartMovieCaptureとStopMovieCaptureについて、やはり近い将来削除されると考えた方が良さそうですね。

MovieRenderQueueはレンダリング中に人間が入力する事を考慮していないこと、エンジン側としては改めてランタイム中の動画出力機能を備える必要性がないこと、等の点から、やはり外部の動画キャプチャ機能(ソフト)を利用するのが現実的ということで承知しました。

また、Movie Pipeline Queue Engine Subsystem で、GameModeOverride等の組み合わせ次第ではユーザーの入力の結果を反映することが可能と言うことで、多少やりようはあるのかなという気がしますのでそのあたりも少々試行錯誤はしてみようかと思います。

ご丁寧にありがとうございました!