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

#!/bin/bash
# Where screenshots are saved
SC_ROOT="model_data/current"
# WILL BE DELETED
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
render_dir () {
ffmpeg \
-y \
-loglevel quiet \
-framerate 30 \
-i $1/hackcel_%003d.png \
-c:v libx264 \
-pix_fmt yuv420p \
$OUTPUT_DIR/${1##*/}.mp4
}
# Todo: error out if exists
mkdir -p $OUTPUT_DIR
echo "Making episode files..."
for D in $SC_ROOT/screenshots/*; do
if [ -d "${D}" ]; then
render_dir $D
fi
done
echo "Done."
# Generate video for each run
for f in $OUTPUT_DIR/*.mp4; do
echo file \'$f\' >> video_merge_list
done
# Merge videos
ffmpeg \
-loglevel error -stats -y \
-f concat \
-safe 0 \
-i video_merge_list \
-vf "scale=1024x1024:flags=neighbor" \
$OUTPUT_DIR/00-all.mp4
rm video_merge_list
# Make accelerated video
ffmpeg \
-loglevel error -stats -y \
-i $OUTPUT_DIR/00-all.mp4 \
-framerate 60 \
-filter:v "setpts=0.125*PTS" \
$SC_ROOT/8x.mp4
echo "Cleaning up..."
rm -dr $OUTPUT_DIR