Mark
/
celeste-ai
Archived
1
0
Fork 0
This repository has been archived on 2023-11-28. You can view files and clone it, but cannot push or open issues/pull-requests.
celeste-ai/celeste/ffmpeg.sh

67 lines
1.1 KiB
Bash
Raw Normal View History

2023-02-17 22:28:41 -08:00
#!/bin/bash
2023-02-24 14:11:56 -08:00
2023-02-18 19:50:31 -08:00
# Where screenshots are saved
2023-02-24 14:11:56 -08:00
SC_ROOT="model_data/current"
2023-02-18 19:50:31 -08:00
# WILL BE DELETED
2023-02-24 14:11:56 -08:00
OUTPUT_DIR="model_data/video_output"
# To make with fade in and out:
# ffmpeg -framerate 30 -i %03d.png -vf "scale=1024x1024:flags=neighbor,fade=in:0:45,fade=out:1040:45" out.webm
2023-02-17 22:28:41 -08:00
render_dir () {
ffmpeg \
-y \
-loglevel quiet \
-framerate 30 \
-i $1/hackcel_%003d.png \
-c:v libx264 \
-pix_fmt yuv420p \
$OUTPUT_DIR/${1##*/}.mp4
}
2023-02-18 21:09:53 -08:00
# Todo: error out if exists
mkdir -p $OUTPUT_DIR
2023-02-17 22:28:41 -08:00
echo "Making episode files..."
2023-02-24 14:11:56 -08:00
for D in $SC_ROOT/screenshots/*; do
2023-02-17 22:28:41 -08:00
if [ -d "${D}" ]; then
render_dir $D
fi
done
echo "Done."
# Generate video for each run
for f in $OUTPUT_DIR/*.mp4; do
2023-02-18 21:09:53 -08:00
echo file \'$f\' >> video_merge_list
2023-02-17 22:28:41 -08:00
done
# Merge videos
ffmpeg \
2023-02-18 21:09:53 -08:00
-loglevel error -stats -y \
2023-02-17 22:28:41 -08:00
-f concat \
-safe 0 \
2023-02-18 21:09:53 -08:00
-i video_merge_list \
2023-02-24 14:11:56 -08:00
-vf "scale=1024x1024:flags=neighbor" \
2023-02-18 21:09:53 -08:00
$OUTPUT_DIR/00-all.mp4
2023-02-17 22:28:41 -08:00
2023-02-18 21:09:53 -08:00
rm video_merge_list
2023-02-17 22:28:41 -08:00
# Make accelerated video
ffmpeg \
2023-02-18 21:09:53 -08:00
-loglevel error -stats -y \
-i $OUTPUT_DIR/00-all.mp4 \
-framerate 60 \
2023-02-17 22:28:41 -08:00
-filter:v "setpts=0.125*PTS" \
2023-02-24 14:11:56 -08:00
$SC_ROOT/8x.mp4
2023-02-17 22:28:41 -08:00
2023-02-18 19:50:31 -08:00
echo "Cleaning up..."
rm -dr $OUTPUT_DIR