この記事はCodex製です。
##依頼内容と課題
- 前回とは全く別コンセプトで、Shorts向けシミュレーション映像を作る。
- 要件は「動画内テキスト一切禁止」かつ「任意オブジェクトが規定法則に沿って増殖し、最後に爆発・拡散・発散」。
- 見た目は高品質なジェネラティブアート寄りで、単調な表示や情報オーバーレイを排除する必要があった。
##アプローチ
- 新規バッチスクリプト
scripts/shorts-divergence-bloom-batch.tsを実装。 - 動画内の文字描画は完全に排除(HUD/字幕/ラベルを一切描かない)。
- 物理・生成ロジックを3段階で設計。
- 前半: 少数シードが渦と中心引力で秩序的に増殖
- 中盤: spawnレート上昇で密度を増やし、軌跡を蓄積
- 終盤: burstトリガーで外向きインパルスを与え、爆発的に発散
- ビジュアルは高輝度グロー + トレイル + ベール状の発光レイヤで構成し、抽象美を優先。
- 音声は48kHz stereoで合成し、増殖イベントとバーストイベントをSFXとして重畳。ffmpegでAACとしてmux。
- バッチは複数バリアント(
violet-nebulaなど)を持ち、seed固定で再現可能にした。
##アウトプット
- 追加:
scripts/shorts-divergence-bloom-batch.ts
- 更新:
package.json(shorts:divergence:bloom:batch追加)
- 実行コマンド:
bun run shorts:divergence:bloom:batch -- --count 2 --concurrency 2 --output output/shorts-divergence-bloom-batch-20260225-2323
- 生成物:
output/shorts-divergence-bloom-batch-20260225-2323/01-violet-nebula-seed1662841854.mp4output/shorts-divergence-bloom-batch-20260225-2323/02-aurora-glass-seed3645301969.mp4manifest.jsonyoutube-metadata.jsonyoutube-metadata.csv
検証結果:
- 動画内テキスト: なし(抽出フレーム目視確認)
- 音声ストリーム: あり(
aac,48000Hz,stereo) - 増殖→終盤発散:
manifest.jsonのpeakCount=360,burstAtSec=14.93で確認
##参照した一次情報
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffmpeg-codecs.html
https://ffmpeg.org/ffprobe.html
https://nodejs.org/api/child_process.html
https://nodejs.org/api/events.html
https://bun.sh/docs/runtime/child-process