メインコンテンツへスキップ
見出し画像

生成した動画を「投稿できる画質」に仕上げるまで|SeedVR2・色合わせ・BGM実測記録

    YoutubeでAI VTuberユニット「アルトルタ」を開発している四ツ谷です。前回の記事では、短編アニメ「アルトルタのお月見」を作る中で、狙った構図と演技をコントロールするコツをまとめました。今回はその続きとして、生成した動画を実際に投稿できる画質・音に仕上げるまでの記録です。

    前回の記事はこちらです。
    https://note.com/altolta_428/n/n0672a6608c36

    まずは完成した動画をご覧ください。

    結論

    MiniMax H3 で生成した動画を、SeedVR2で解像度アップ、ColorTransferで色味の統一、カメラワークとBGMを付けて完成させました。この仕上げでいちばんの学びは、全体に同じ強さで処理をかけると、ショットによって不自然な色になるということです。全体にかける処理ほど、ショットごとの微調整が要る、という記録です。

    前提(使ったツール)

    解像度アップ SeedVR2(7B・Apache 2.0・商用可)
    色の統一 ColorTransfer(ComfyUI本体のノード)
    編集 ffmpeg(カメラワーク・BGM合成・縦横の書き出し)
    素材 MiniMax H3で生成した29ショットの動画(1344×768)

    作ったもの|仕上げの流れ

    生成したそのままの動画は、解像度が甘く、ショットごとに明るさや色味もバラバラです。これを、次の順に処理して完成させています。

    1. SeedVR2で解像度を上げて、線を締める(1344×768出力。寄りに切り抜いた小さい絵も、ここで元の大きさに戻す)

    2. ColorTransferで、基準にするショットの色に全体を寄せる

    3. カメラワークを後から付ける(寄る・引く・弾む)

    4. BGMを合成する

    5. 縦(1080×1920)と横(1920×1080)、それぞれの枠に書き出す

    うまくいく作り方のコツ

    1. SeedVR2は3Bと7Bで速度がほぼ同じ。使うなら7B

    解像度アップのモデルには3Bと7Bの2種類があります。同じ条件で実測したところ、速度差はほとんどありませんでした。

    3B 1コマあたり約0.69秒
    7B 1コマあたり約0.72秒

    画像
    3B(左)と7B(右)で解像度を上げた結果の比較です。
    差はわずかですが、7Bのほうが髪や耳の線が細かく出ています

    速度がほぼ変わらないなら、画質がわずかによい7Bを選ぶ理由になります。軽いほうを選んで速度を稼ぐ、という判断が必ずしも正しいとは限りません。

    なお、SeedVR2は口の開け閉めのタイミングをそのまま保ちました。ただし、開きかけの途中の口は少し描き直すことがあります(歯の見える半開き口が、小さな口になった例がありました)。あとから声を合わせ直す作業には響かない見込みです(推定)。

    2. 動画の保存設定は、画質を潰すことがある

    解像度アップの効果を比較する試験をしていたとき、保存時のコーデックを「自動」のままにしていたところ、84コマで0.5MB(約1Mbps)と極端に小さくなり、SeedVR2で上げたはずの細部が保存の段階で消えていました。

    コーデックとビットレート相当の設定(h264・crf 12)を明示的に指定し直したところ、1コマあたりのデータ量が約8倍になり、細部がきちんと残るようになりました。比較や検証をするときは、保存の設定を明示的に指定しないと、比較そのものが成立しません。

    3. 長いショットは、極端に遅くなることがある

    192コマのショットは1コマあたり約0.66秒で処理できたのに対し、277コマの長いショットだけは1コマあたり約6.6秒、約10倍の時間がかかりました。

    推定ですが、コマ数が一定を超えると処理がGPUのメモリに収まりきらず、本体のメモリにあふれて遅くなっていると考えられます(エラーにはならず、ただ遅くなります)。200コマ前後に境目があるとみています。長いショットは時間方向に分けて処理する機能を試すのがよさそうですが、分けたときにつなぎ目が出ないかは未検証です。

    4. 色を1つの基準に揃えると、寄りのショットで目の色が変わる

    全体の色味を統一するために、ColorTransferで1つの基準ショットの色に全ショットを寄せました。

    画像
    仕上げ前(左)と、SeedVR2と色合わせ(強さ1.0)をかけた後(右)の比較です。
    10ショットぶんを抜粋しています。解像度は上がりますが、
    満月の空が紫がかる、肌が茶色っぽくなる、瞳が青寄りになるなど、
    色が変わったショットが出ます

    ところが、画面の中で顔や目が大きな割合を占める寄りのショットほど、色の変化が強く出ました。原因は、この色合わせが画面全体の色の平均と広がりを基準に合わせる方式で、寄りの絵ほど顔や目の色そのものが画面全体の平均に強く影響するためと考えられます(推定)。

    よく見ると、青くなっていたのは瞳ではなく白目でした。元の白目がわずかに青い灰色で、基準ショットの青い夜の色に引っ張られて水色に振れていたのです。SeedVR2をかけた段階では色は変わっていませんでした。

    画像
    色合わせの強さを、左から0・0.25・0.5で比べた検証です。
    上段はオルタの目の超アップで白目が、下段はアルトの目の寄りで紫の瞳が、
    強さを上げるほど青寄りになります

    対策は、色合わせの強さをショットごとに変えることでした。

    目の超アップと満月のショット 強さ0(色合わせなし)
    オルタの寄り・アルトの寄り・アルトの笑顔・暗い引きのショット 強さ0.5
    そのほかの多くのショット 強さ1.0

    目が画面の大半を占めるショットは、弱めても振れが残ったため、強さ0にするしかありませんでした。全体に一律の処理をかけるだけでは仕上がらず、寄りのショットだけ弱める調整が必須でした。強さ0にしたショットは、色合わせも標準の明るさ補正も入らないぶん、ほかより少し暗く見えます。

    5. 暗い引きのショットに色合わせをかけると、白飛びすることがある

    寄りのショットだけでなく、暗い引きのショットでも破綻しました。基準ショットに比べてずっと暗い二人の引きの絵に強さ1.0で色合わせをかけると、明るさの幅が引き伸ばされて、顔と服が白く飛び、彩度も強く出すぎました。

    画像
    暗い引きのショットの直し方を3案で比べた検証です。
    Aは解像度アップのみで元の色、Bは色合わせを強さ0.5に弱めた版、
    Cは色合わせ0.5にさらに明るさなどの調整を加えた版で、暗くなりすぎました

    3案のうち、白飛びがなく夜らしい色を保てたBを採用しました。基準ショットと明るさの分布が大きく違うショットほど、色合わせの強さを弱める必要があります。色を統一する処理は、明るさが近いショットどうしでは自然にかかりますが、明暗差が大きいショットに機械的に一律でかけると破綻する、というのが実測での結論です。

    6. 波形から合成したBGMは、数値が合格でも聞くと不評

    BGMは、音の波形を組み合わせて箏や風鈴のような音を合成する方法も試しました。ラウドネス、ピーク、台詞に合わせた音量の下げ幅など、数値の基準はすべてクリアしていました。

    しかし実際に聞いてみると、音色そのものが不評でした。数値の合格だけでは、音楽としての良し悪しは判断できません。結局、商用利用可能なフリー楽曲に切り替えました。

    BGM:「秋を探しに」(のる)/OpenTracks(旧DOVA-SYNDROME)で配布

    ライセンスは商用利用可・表示不要・加工可で、AIの学習利用とContent ID登録は禁止されています(2026年9月24日に本文を確認)。曲の最後の一音がエンドカードの頭に来るよう、音の高さを変えずに5.5%ゆっくりにして尺に合わせています。台詞の間はBGMを約9dB下げ、台詞のない所はそのままにしました。

    BGMのように聞いた印象がすべてを決める要素は、数値のチェックだけに頼らず、実際の曲を人の耳で選ぶのがいちばん早い、という学びでした。

    7. カメラの動きは、固定で焼いてから後処理で付ける

    MiniMax H3にカメラを動かす指示を出すこともできますが、動きの強さを細かくコントロールできません。実際、強めに動かすように書いたショットでは、3秒ほどで満月が画面から消えるまでカメラが寄り切ってしまいました。

    そこで、生成の段階ではカメラを固定して焼き、寄る・引く・弾むといった動きは、あとからffmpegで付けています。生成のたびに動きの強さがばらつく心配がなく、同じ動きを何度でも再現できます。

    画像
    後処理で付けたカメラワークの例です。満月を寄る、驚くカットでぱっと寄る、指を立てるカットで弾む、最後の満月を引く、といった動きを、時間経過にあわせて加えています

    ffmpegの一般的な挙動として、scaleフィルタに「eval=frame」を付けると、式の中で時間(t)が使え、拡大率を時間で変えられます。一方、cropフィルタで時間の式が効くのはxとyだけで、幅と高さは初期化時にしか評価されません。そのため、拡大はscaleで、位置の移動はcropで行うと動きを付けられます。

    8. サムネイルは専用の一枚絵で作る。画角は言葉で決める

    サムネイルは、動画から抜き出すのではなく、専用の一枚絵を生成して作りました。最初の案(v1)は、作品の背景(縁側の全景)を参照にして、その場所に二人を描かせたものです。

    画像
    サムネイル案v1(3シード)です。満月は大きいものの、
    二人が画面の中でとても小さくなってしまいました

    満月は大きく写るものの、肝心の二人が小さくなりました。背景の全景を場所として渡すと、H3は全景の画角ごと写してしまいます。

    そこでv2では、全景は色と描き方だけの参考にとどめ、画角は言葉で決めました。腰から上を大きく、横幅いっぱいに、頭の高さは画面の真ん中に、カメラは低く近く見上げるように、頭の上は夜空と満月に、と具体的に書き直しています。

    画像
    サムネイル案v2(3シード)です。
    二人が大きく、頭の上に満月が入り、アルトが頭をなでる、
    オルタが団子をほおばるというオチの一枚絵になりました

    3シードとも成功し、二人が大きく、頭の上に満月が入る構図になりました。人物を大きくしたいときは、背景の絵を場所として渡すのではなく、画角は言葉で決めるのがコツです。

    実測値

    SeedVR2の処理速度(1344×768出力)

    3B 0.69秒/コマ
    7B 0.72秒/コマ

    全編の仕上げ処理(28本・3676コマ)

    全体所要 69.8分
    ふつうのショット 0.64〜0.70秒/コマ
    いちばん長いショット(277コマ) 6.58秒/コマ(他の約10倍)

    BGMの音量

    台詞の間のBGMの下げ幅 約9dB
    仕上がりのラウドネス −14.2 LUFS

    完成データ

    縦(ショート用) 1080×1920・149.91秒・−14.2 LUFS
    横16:9(X・YouTube用) 1920×1080・149.92秒・−14.2 LUFS

    まとめ

    • 解像度アップは3Bと7Bで速度差がほとんどないため、画質のよい7Bを選ぶ価値があります

    • 保存の設定を明示的に指定しないと、比較や検証そのものが成立しません

    • 色を1つの基準に統一する処理は、寄りのショットや明るさの違うショットほど強さを弱める必要があります。全体に一律でかけると、目の色が変わったり白飛びしたりします

    • BGMのように聞いた印象で決まるものは、数値のチェックだけに頼らず人の耳で選びます

    • カメラワークは生成時ではなく後処理で付けると、強さを安定してコントロールできます

    • サムネイルは、画角を言葉ではっきり指定しないと、背景の参照に引っ張られて人物が小さくなります

    なお、この作品は MiniMax H3 で生成しています。MiniMax H3のライセンスでは、商用の場でモデル名を目立つように表示すること、公開の場で使うときは機械生成であることを明示することが求められています(2026年9月24日に本文を確認)。この作品では、縦の動画の上部、横の動画の右下、概要欄に、MiniMax H3で生成したAIアニメであることを明記しています。

    前回の記事(構図と演技のコントロール)はこちらです。https://note.com/altolta_428/n/n0672a6608c36


    X(旧Twitter)もやっています

    日々の検証の様子や、記事にする前の途中経過はXで先に投稿しています。よかったらフォローしてください。

    ▼ アルトルタ(AI Vtuber Unit Ver.0.01)
    https://x.com/Altolta_Project

    note のフォローもお願いします

    この開発記録は不定期に更新しています。続きが気になる方は、ぜひフォローをお願いします。

    お知らせ

    アルトルタ開発チームでは、配信で使えるOBS用ツール・オーバーレイをBOOTHで販売しています。zipを解凍するだけで使え、外部への通信は行いません。

    ▼ Altolta428(BOOTH)
    https://altolta428.booth.pm/

     
     
     
    YoutubeにてAIVtuberユニット アルトルタの配信を行おうとしています。 こちらには、デビューまでの開発記録を書いていこうと思っています。

    あなたへのおすすめ