ComfyUIからは2025年1月現在、今のPCでだいたい1024 x 1024 または1280 x 768程度の3D SBS画像を生成することができる。本来ならこれをAdobe Premiereあたりで編集して動画を作成するのが筋なのだがこのサイズだとエンコードしてデバイスに出力してくれない。そこで簡易にFFmpeg + ステレオムービーメーカを活用してVR動画を作るシナリオをかんがえたので、下記に記す。
想定:
1)画像は3D静止画をパラパラと見せる。1枚3秒程度見せる。
2)タイトルや途中のテキストは、独立した画像で見せることとし、3D_SBSの中には埋め込まない
3)音声や画像はまとめて一つの音源として作成し、これもFFmpeg中にまとめる
やり方案:
1)最初に1024 x 1024 x 2面(=2048 x 1024) のテンプレート面をpngなどで作成する。
2)これを使って
・タイトル
・テキストのみのページ
・他のコンテンツ(人物の様子など)
・エンディング
などを最初に作っておく
3)静止画はあらかじめ連番で作成しておく。シナリオに沿って1)で作成したページもこの時点で入れて連番にしておく。静止画の1枚の継続時間を想定(例えば4秒)しておく。
4)Adobe Premiereを使って静止画を読み込み、それに合わせて音声シナリオ、背景音楽を編集する。継続時間を考慮する。できたら、全部の書き出しはできないので音声と音楽のみまとめてmp3などで出力する。
5)静止画の中にテキストを盛り込みたいページがあれば、ステレオフォトメーカで編集して挿入する
6)FFmpegでエンコードする。
ffmpeg -framerate 30 -i frame_%04d.png -c:v libx264 -pix_fmt yuv420p output.mp4-framerate 30
は1秒あたり30フレームの動画を指定しています。frame_%04d.png
はSBS画像ファイル名の形式(例: frame_0001.png, frame_0002.png など)。output.mp4
は出力動画ファイルの名前です。
7)音声もincludeする際には
ffmpeg -framerate 30 -i frame_%04d.png -i audio.mp3 -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest output.mp4
output.mp4 出力動画のファイル名。ate 30
動画のフレームレートを指定(30FPSに設定)。-i frame_%04d.png
入力画像(連番形式)の指定(例: frame_0001.png
, frame_0002.png
)。-i audio.mp3
入力音声ファイル(MP3ファイルを指定)。-c:v libx264
動画コーデックを指定(H.264で圧縮)。-pix_fmt yuv420
動画のピクセルフォーマットを指定(互換性向上のための設定)。-c:a aac
音声コーデックを指定(AAC形式に変換)。-shortest
音声と画像の短い方に合わせて動画を終了させるオプション
これで見ることができるはずと期待