オープンソース / セルフホスト

アバターの描画を、
クラウドに逃がす。

描画とエンコードをクラウドの GPU にやらせます。 手元の PC に残るのは、顔のトラッキングと、映像を受け取る OBS だけ。

まだ作ってる途中です(Phase 4 / 配信者 PC 側の CLI)

描画とエンコードを同じ PC でやると、だいたい死ぬ

3D のレンダリングと配信のエンコードが同じマシンで同時に走るわけです。 そこにゲームまで乗せたら、まあ落ちますよね。フレームが飛ぶ、音がずれる、OBS が固まる。

で、調べると「PC を買い替えましょう」で終わる。10 万円単位の話です。

kagemi は描画だけ外に出します。必要なときだけ GPU を借りて、終わったら壊す。 手元に残るのは、映像を受け取って流すだけの OBS です。

やってること

iPhone 顔のトラッキング
クラウド GPU アバターを描画
H.264 でエンコード
自宅の OBS 映像を受け取る

クラウドに送るのは顔の動きの数値だけ。向こうでアバターが描かれて、暗号化された映像で戻ってきます。 往復は WireGuard のトンネルの中、映像は AES-256 です。

ここは譲らなかった

モデルをディスクに書かない

VRM は配信のたびに送って、メモリ(tmpfs)にだけ展開します。ディスクにもスワップにも書きません。 起動時に swap が残っていないか検査して、残っていたら起動を止めます。 セッションが終わればサーバごと消えるので、あとには何も残りません。

預ける相手がいない

運営者がいません。配信者が自分のクラウドアカウントで立てて、自分で壊す。 モデルを誰かに渡さないので、「この会社は信用できるのか」を考えずに済みます。

動いてる間しか課金されない

配信のたびに作って、終わったら壊します。消し忘れ対策に、 サーバ自身が期限で自分を消す仕組みも入れました。PC ごと落ちても効きます。

外から触れる口がない

外に開いているのは WireGuard の UDP がひとつだけ。SSH は開けません。 クラウド側とサーバの中、二段で閉じています(この二段目に気づかなくて一時間溶かしました)。 モデルの受け渡しはクライアント証明書つきの TLS です。

いくらかかるか

東京の GPU インスタンス(A16 の 1/4)で 1 時間 $0.12 くらい。 1 日 8 時間を 30 日やっても 月 $28 です。

通信量は 1 時間あたり 1.8GB ほど。プランに月 2TB ついてくるので、倍配信しても余ります。

支払い先はクラウド事業者で、kagemi 自体は無料です。 金額は Vultr の公開価格からの試算なので、実際の請求は使い方次第で変わります。

要るもの

いまどこまで動くか

描画・エンコード・送出のサーバ側と、それを立てる構成は実機で動作確認済みです。 いま配信者 PC 側のコマンドラインツールを書いています。

ひと通り動いたら、ソースと手順を出します。