agentsclimarketplace

Local ai video pipeline

Skill bokuwalily/claude-code-skills/skills/local-ai-video-pipeline

無料ローカルでAI動画を作る時(静止画→動画クリップ→連結)。ComfyUI/RealVisXL静止画にffmpegでKen Burnsモーションを付けて繋ぐ。ffmpegがbashのwhile-readループのstdinを食う罠に当たった時も。From its SKILL.md

Install
npx -y skills add bokuwalily/claude-code-skills --skill local-ai-video-pipeline

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.8 KB, 943 tokens by cl100k_base, as published. Nobody here has run it

Procedure

実装正典: ~/dev/ai-video-factory(07-pc-automation)。generate.sh scenes/x.txt [--bgm f] [--fps 30]。

構成(流用可):

  1. 静止画: lib/comfy_txt2img.py "<prompt>" out.png [seed] — ComfyUI API(127.0.0.1:8188)/RealVisXL V5.0/1344x768。先に cd ~/dev/comfyui && .venv/bin/python main.py --port 8188 &。初回~145秒。
  2. モーション(Tier1・追加DL不要): lib/kenburns.py still.png clip.mp4 [dur] [fps] [motion] [W] [H] — ffmpeg zoompanでパン/ズーム。motion=zoom_in|zoom_out|pan_left|pan_right|pan_up|pan_down|auto。
  3. モーション(Tier2・opt-in): lib/svd_img2vid.py still.png clip.mp4 — SVD img2vid(本物の生成モーション)。要 svd_xt.safetensors 9.5GB(未DLなら手順表示で停止)。MPSで数分/クリップ。
  4. 連結: lib/stitch.py out.mp4 clip1 clip2 ... [--bgm f] [--xfade 0.6] — xfadeクロスフェード+BGMはloudnorm整音+末尾フェード。

シーン定義(1行1シーン): <英語prompt> :: <秒> :: <motion>(::以降省略可・#コメント)。

Pitfalls

  • 🔴 ffmpegがwhile-readのstdinを食う: while read line; do ffmpeg ...; done < file だと ffmpeg が標準入力からfileの残り行を読み取り、1呼び出しごとに1行飛ぶ(2行目以降が欠落)。必ず ffmpeg -nostdin ...(または </dev/null)。subprocessでも同じ。これが今回の主因だった。
  • zoompanのジッター/crop失敗: プリスケールがcropサイズ未満だと "Invalid too big or non positive size"。scale={W*2}:{H*2}:force_original_aspect_ratio=increase,crop={W*2}:{H*2} で出力比2倍へ拡大してからzoompan、で両方解決。
  • ComfyUI 8188 残存プロセス衝突: lsof -nP -iTCP:8188 -sTCP:LISTEN -t | xargs kill -9。
  • SDXLは日本語不可: テロップは後段でPIL等で乗せる(senior-tube方式)。
  • 配信用BGM: 権利フリーのみ(music-labの自作MIDI等)。AI生成物は「AI生成」と明示。実在人物なりすまし・アダルト量産はやらない。

Verification

  • ffprobe -v error -show_entries format=duration:stream=width,height,nb_frames -of default=noprint_wrappers=1 out.mp4
  • 尺の検算: xfade連結の総尺 = Σdur − (clips−1)×xfade。例 4+3.5+4 − 2×0.6 = 10.3s。
  • 静止画はReadで目視(ダミー/壊れでないか)。全シーン数=stills数=clips数を確認(ffmpeg stdin罠の検出)。

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.