GhostMoviePlay

AI がアプリを実際に操作して、失敗とその理由、正解ルートまでを
字幕と音声つきで解説する動画を作る

素朴にやると、観られない動画になる

AI に 1 手ずつ操作させながら録画すると、
考えるたびに無音の数十秒が入る。
撮り直すたびに絵も変わる。

だから、AI を使う段を 1 つに閉じ込める

PASS 1
gmp plan
AI あり

ソースを読んで、何を実演するかを設計する。
成果物は plan.json だけ。

PASS 2
gmp record
AI なし

plan.json をそのままリプレイして録画する。
同じ台本なら、何度撮っても同じ絵。

PASS 3
gmp render
AI なし

字幕を焼き、音声を重ねて mp4 にする。

AI が動くのは最初の一度だけ。撮り直しは何度でも無料。

台本 plan.json は、人が読んで直せる

{
  "say": "大きい数から取ってしまいます",
  "hold": 2.4,           // 読み切れる長さだけ画面を保つ
  "actions": [
    { "type": "click",     "selector": "#tile-9" },
    { "type": "highlight", "selector": "#score" }
  ]
}

AI の作った失敗例が的外れなら、その場で書き換えればいい。

設定は 3 層。下に行くほど強い

グローバル config.toml — この機械の既定。出力先、VOICEVOX の接続先、フォント
このプロジェクト gmp.toml — 対象 URL、声と口調、読み辞書、題材。git に入れる
この 1 本 video.md — その動画だけの上書き

読みの指定はプロジェクトに置く。
1 本ずつ持つと、1 本目で直した読みが 2 本目で戻る。

設定画面は、層を選んでから編集する

gmp ui — 設定
グローバル設定 このプロジェクト
話者 ずんだもんこの層で設定
口調 落ち着いた解説口調この層で設定
画質 (CRF) 20 グローバル
値がどの層から来ているかを行ごとに出す。書ける層が違う項目は、そもそも出さない

行ごとに保存先を選ばせると、全プロジェクトの既定を書き換えてしまう。

出来上がり

output.mp4 — 字幕・音声・クレジットまで入った 1 本。
プロジェクトの git には 台本と設定だけが残る。

この動画も GhostMoviePlay で撮っています。