尚未检测到更新。GitHub 发布版本后会显示在这里。
立体視ムービーメーカー by ずんだもんAI:1枚の絵から、揺れたり回ったりする立体視の動画を作る(ブラウザだけで動く・絵は PC から出ない・MCP 付き・無料・オープンソース)
翻译准备中
正在加载完整 README。
查看完整 README ↗自分の動画に貼る「立体視の素材」を作る道具です。透過PNGから、背景が透明のまま揺れたり回ったりする左右のペア(平行法・交差法)ができます。ブラウザだけで動きます。
👉 使う:https://tashirosmasashis-cell.github.io/stereo-motion/
| 左右の揺れ | 上下の揺れ | 時計回り | 反時計回り |
|---|---|---|---|
目の体操・リフレッシュ用です。視力が回復するという研究の裏付けは見つかっていません。疲れたら休んでください。
考え方は iw3(nunif)・DepthFlow・stable-diffusion-webui-depthmap-script を参考にしました。ありがとうございます。
同じ描き方で、AI のエージェントからも動画を作れます。この PC の Chrome(か Edge)を見えない形で起こして同じ画面を動かすので、手で作った動画と同じ絵になります。絵はどこにも送りません。
入れ方は1行です(Node.js が入っていれば、ターミナルに貼るだけ):
npx -y github:tashirosmasashis-cell/stereo-motion add
プログラムを ~/.stereo-motion に取ってきて、この PC にある Claude Code・Codex・Antigravity に自分で登録します(もう入っている AI は触りません)。AI を開き直すと使えます。新しい版にするときも同じ1行です。初回は30秒ほど、奥行きのモデル(約27MB)は最初に使うときに1回だけ読み込みます。
ffmpeg(透明のある絵と view:"single" のとき。Windows は winget install ffmpeg、Mac は brew install ffmpeg)git clone https://github.com/tashirosmasashis-cell/stereo-motion.git
cd stereo-motion
npm install
claude mcp add -s user stereo-motion -- node /path/to/stereo-motion/mcp/server.mjs
# Codex:~/.codex/config.toml
[mcp_servers.stereo-motion]
command = "node"
args = ["/path/to/stereo-motion/mcp/server.mjs"]
// Antigravity:~/.gemini/config/mcp_config.json の "mcpServers" に足す
"stereo-motion": { "command": "node", "args": ["/path/to/stereo-motion/mcp/server.mjs"] }
組み立てた画面(dist)は倉庫に入っているので、npm run build:page は画面を直したときだけ要ります。
道具:
make_stereo_video:絵のパス(1枚以上)と設定(motion・amount・period・stereo・pivot・view・width・cycles。seconds を渡すと近い周回数に丸めます)から、1枚ごとに別の素材を作ってパスを返します。透明のある絵=透過 WebM(VP9・アルファ。prores:true で ProRes 4444 の .mov も)、背景つきの絵=MP4。view を single にすると、左右のペアにせず1枚の絵のまま奥行きでカメラが動く動画(写真の中身は変えずに短い動画にする・HP のショートリールなど)list_motions:動きの種類とはじめの設定コマンドで試す:node mcp/cli.mjs --motion cw --out out.webm image.png
AI エージェント向けの説明書:docs/FOR-AI.md(MCP・この PC だけの HTTP API(npm run api・OpenAPI あり)・コマンドは、道具の名前・引数・返事が同じ)。
透過 WebM はそのまま置けます:<OffthreadVideo src={staticFile('stereo.webm')} transparent muted loop />。画面から作った透明つき PNG 連番の ZIP は、解いて ffmpeg -framerate 30 -i frames/%04d.png -c:v libvpx-vp9 -pix_fmt yuva420p -auto-alt-ref 0 stereo.webm(ProRes 4444 なら -c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le stereo.mov)。ブラウザの動画の部品は透明を残して書き出せないので、画面では PNG 連番にしています。
画面の書き出しが使えない環境では、毎コマの絵を受け取って ffmpeg でまとめます(ffmpeg が要ります)。
よくある凡ミス(最後のコマと最初のコマが同じ絵で、くり返すと同じ絵が2コマ続いてカクッと止まる)が起きていないことを、4つの動きで確かめます。
npm run build:page
npm run check:loop -- image.png
書き出した動画のコマ数がちょうど「1周×周回数×枚数」であること・描かない次のコマが最初のコマとまったく同じ(1周がぴったり閉じている)こと・最後のコマから最初のコマへの変わり方が、となり合うコマどうしと同じ大きさであることを見ます。
※ 動画の部品(WebCodecs)が無い古いブラウザでは画面を録画して書き出すので、コマ数がぴったりにならないことがあります(PC の Chrome・Edge・新しい Safari は部品があるのでぴったりです)。
npm install
npm run dev
MIT(このリポのコード)。奥行きのモデル Depth Anything V2 Small は Apache-2.0 です(Base・Large・Giant は商用不可なので使っていません)。Mediabunny は MPL-2.0、transformers.js は Apache-2.0、ONNX Runtime Web は MIT です。