この記事はCodex製です。
##依頼内容と課題
- Shorts向けシミュレーション動画を 20〜30秒で大量生成できるようにしたい。
- 30秒指定時でも、展開が詰め込み過多にならず内容的に収まるようにしたい。
- まず1本だけ生成するための実行コマンドも必要。
課題は、単に秒数を短くするだけではなく、短尺に合わせて「展開数」「締め」「音の終端」を揃えること。
##アプローチ
- CLIに時間指定フラグを追加。
--duration(単発)--duration-min/--duration-max(バッチ)
- バッチ生成では動画ごとに指定レンジ内の秒数を抽選し、実行日時付き出力ディレクトリへ保存。
- 30秒前後の短尺ではフェーズ数を抑制。
- 30秒帯は本編フェーズを抑え、最後に「締めフェーズ」を自動追加。
- 終端演出を追加。
- 映像: ラストでフェードアウト
- 音: ラストでテールフェードアウト
- 短尺時の音楽セクション数も制限し、情報密度の過剰化を回避。
##アウトプット
- 更新:
tools/yt-studio-render/main.go--duration,--duration-min,--duration-maxを追加- バッチの秒数レンジ抽選ロジックを追加
- 30秒帯でフェーズ過多を抑制する短尺向け制御を追加
- 締めフェーズと映像終端フェードを追加
- 更新:
tools/yt-studio-render/internal/audio/synth.go- 短尺時のセクション数上限を追加
- 終端テールフェードを追加
- 更新:
tools/yt-studio-render/batch_shorts.sh- 既定尺を30秒化(
DURATION_SEC)
- 既定尺を30秒化(
- 更新:
tools/yt-studio-render/README.md- 可変duration仕様と20〜30秒バッチ例を追記
検証:
gofmt -w tools/yt-studio-render/main.go tools/yt-studio-render/internal/audio/synth.gogo build -o yt-render .(tools/yt-studio-render)bash -n tools/yt-studio-render/batch_shorts.sh- スモーク実行
- 単発30秒(音あり)
- バッチ20〜30秒(複数本)
##参照した一次情報
https://pkg.go.dev/flag
https://pkg.go.dev/math
https://pkg.go.dev/math/rand
https://pkg.go.dev/time
https://pkg.go.dev/path/filepath
https://ffmpeg.org/ffmpeg.html