2026-02-05 23:01:36 -05:00

98 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
set -e
cd /Users/jakeshore/.clawdbot/workspace/surya-manim-v2
MANIM=/Users/jakeshore/.clawdbot/workspace/surya-manim-journey/venv/bin/manim
OUTPUT_DIR="./output"
mkdir -p "$OUTPUT_DIR"
echo "=== SURYA EPIC RENDER STARTED ==="
echo "Time: $(date)"
# Function to process a track
process_track() {
TRACK=$1
AUDIO=$2
VIDEO_FILE="./media/videos/surya_epic/480p30/${TRACK}.mp4"
AUDIO_FILE="./audio/${AUDIO}"
FINAL_FILE="${OUTPUT_DIR}/${TRACK}_final.mp4"
echo ""
echo "=== Processing $TRACK ==="
# Check if already rendered
if [ -f "$VIDEO_FILE" ]; then
echo "Video already exists: $VIDEO_FILE"
else
echo "Rendering $TRACK..."
$MANIM -ql --fps 30 --disable_caching surya_epic.py "$TRACK" || {
echo "ERROR: Failed to render $TRACK"
return 1
}
fi
# Combine with audio
if [ -f "$FINAL_FILE" ]; then
echo "Final file already exists: $FINAL_FILE"
else
echo "Combining $TRACK with audio..."
ffmpeg -y -i "$VIDEO_FILE" -i "$AUDIO_FILE" -c:v copy -c:a aac -shortest "$FINAL_FILE" || {
echo "ERROR: Failed to combine audio for $TRACK"
return 1
}
fi
echo "Completed: $TRACK"
return 0
}
# Process all tracks
process_track Track01Skin 01_skin.mp3
process_track Track02USavedMe 02_u_saved_me.mp3
process_track Track03Nothing 03_nothing.mp3
process_track Track04SweetRelief 04_sweet_relief.mp3
process_track Track05Tiptoe 05_tiptoe.mp3
process_track Track06NaturesCall 06_natures_call.mp3
process_track Track07Dreamcatcher 07_dreamcatcher.mp3
process_track Track08IDK 08_idk.mp3
process_track Track09WithU 09_with_u.mp3
process_track Track10PoorYou 10_poor_you.mp3
process_track Track11Wait4U 11_wait_4_u.mp3
process_track Track12RunToU 12_run_to_u.mp3
process_track Track13Medications 13_medications.mp3
process_track Track14Hollow 14_hollow.mp3
echo ""
echo "=== Creating concat list ==="
cd "$OUTPUT_DIR"
cat > concat_list.txt << 'EOF'
file 'Track01Skin_final.mp4'
file 'Track02USavedMe_final.mp4'
file 'Track03Nothing_final.mp4'
file 'Track04SweetRelief_final.mp4'
file 'Track05Tiptoe_final.mp4'
file 'Track06NaturesCall_final.mp4'
file 'Track07Dreamcatcher_final.mp4'
file 'Track08IDK_final.mp4'
file 'Track09WithU_final.mp4'
file 'Track10PoorYou_final.mp4'
file 'Track11Wait4U_final.mp4'
file 'Track12RunToU_final.mp4'
file 'Track13Medications_final.mp4'
file 'Track14Hollow_final.mp4'
EOF
echo "=== Concatenating all tracks ==="
ffmpeg -y -f concat -safe 0 -i concat_list.txt -c copy surya_full.mp4 || {
echo "ERROR: Failed to concatenate tracks"
exit 1
}
echo ""
echo "=== RENDER COMPLETE ==="
echo "Final file: ${OUTPUT_DIR}/surya_full.mp4"
echo "Time: $(date)"
ls -la surya_full.mp4