#!/bin/bash
# Build Ken Burns video from 4 scene images
PROJ="/home/ubuntu/projects/sunk-cost-fallacy"

# Scene durations (seconds)
S1=12.5  # Hook
S2=12.5  # Brain
S3=12.5  # Trap
S4=13.0  # Breakthrough

ffmpeg -y \
  -loop 1 -t $S1 -i "$PROJ/scene1-movie.jpg" \
  -loop 1 -t $S2 -i "$PROJ/scene2-brain.jpg" \
  -loop 1 -t $S3 -i "$PROJ/scene3-trap.jpg" \
  -loop 1 -t $S4 -i "$PROJ/scene4-breakthrough.jpg" \
  -filter_complex "\
    [0:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,\
      zoompan=z='min(zoom+0.003,1.1)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':\
      d=300:s=1920x1080,fps=24[v0];\
    [1:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,\
      zoompan=z='min(zoom+0.002,1.08)':x='iw/2-(iw/zoom/2)':y='max(ih/zoom/2,0)':\
      d=300:s=1920x1080,fps=24[v1];\
    [2:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,\
      zoompan=z='min(zoom+0.004,1.15)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':\
      d=300:s=1920x1080,fps=24[v2];\
    [3:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,\
      zoompan=z='max(zoom-0.002,1.0)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':\
      d=312:s=1920x1080,fps=24[v3];\
    [v0][v1]xfade=transition=fade:duration=1:offset=11.5[tmp1];\
    [tmp1][v2]xfade=transition=fade:duration=1:offset=23[tmp2];\
    [tmp2][v3]xfade=transition=fade:duration=1:offset=34.5[out]" \
  -map "[out]" \
  -c:v libx264 -pix_fmt yuv420p -r 24 \
  "$PROJ/sunk-cost-scenes.mp4" 2>&1 | tail -5

echo "Done: $(ls -lh $PROJ/sunk-cost-scenes.mp4)"
