98 lines
2.7 KiB
Bash
Executable File
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
|