今回は動画のフレーム補完です。
フレーム補完とは、既存の動画のフレームとフレームの間にフレームを追加する事でfpsを上げる事を言い、フレームが増える事で動きが滑らかになります。
動画生成時には低fpsで生成し時間とVRAMを節約、作品として公開する際にはフレーム補完で動きの滑らかな作品にできます。
ComfyUIのテンプレートの「ビデオツール」の中に「フレーム補完」がありますので、それを使えば簡単です。
画像1は、テンプレートを少し変更して、簡易化したワークフローです。
画像2は、フレーム補完部分のノードをサブグラフに纏めたものです。
全てComfyUI標準のノードです。
フレーム補完で大切な事は、「動画を作成」ノードでのfpsの指定です。
これを間違うと、音声と画像の同期が取れなく成ってしまいます。
これを補正するのが、「Int (Multiplier)」と「数式」ノードです。
「Int (Multiplier)」では、フレーム数を何倍にするのかの倍率を指定します。
※16fpsを32fpsにする場合は 2 (入力値は整数のみ指定可能でした)。
「数式」では、元の fps と倍率を掛けて最終的な fps を算出します。
※fps は浮動小数点なので、注意!
--------------------------------------------------------------------------------------------
画像3は、動画のアップスケールの際に書いたフレーム補完ノードを使った例です。
基本的な使い方は、テンプレートの物と変わりません。
画像4は、フレーム補完部分のノードをサブグラフに纏めたものです。
今回使ったカスタムノード
・ComfyUI Nvidia VFX Nodes
https://github.com/Comfy-Org/ComfyUI_Nvidia_VFX_Nodes
RTXVideoFrameGeneration
画像3の茶色のノードです。
「RTXVideoFrameGeneration」の設定項目の詳細は、上記URLの説明を確認下さい。
基本は「multilier」を(テンプレートの倍率と同じ)設定するだけです。
--------------------------------------------------------------------------------------------
画像5は、アップスケールとプレーム補完を連続で行う例です。
私の場合パラパライラストを作る関係で、アップスケール→フレーム補完の順番で行っています。
実際の順番は、処理時間、画像の綺麗さなどを加味し、環境に合わせて決めて下さい。