Add intermediate character assets and promo conversion script for mog-showdown
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Speed up a slow-mo Playwright recording to produce high-FPS output.
|
||||
# Usage: convert-highfps.sh <input.webm> <output.mp4> [slow_mo_factor]
|
||||
#
|
||||
# Technique: Playwright recordVideo caps at 25 FPS. By recording the game
|
||||
# at half speed (0.5x) for 2x duration, then speeding up here, we get
|
||||
# effective 50 FPS output.
|
||||
|
||||
INPUT="${1:?Usage: convert-highfps.sh <input> <output> [factor]}"
|
||||
OUTPUT="${2:?Usage: convert-highfps.sh <input> <output> [factor]}"
|
||||
FACTOR="${3:-0.5}"
|
||||
|
||||
if [ ! -f "$INPUT" ]; then
|
||||
echo "Error: input file not found: $INPUT" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OUTPUT_FPS=$(echo "25 / $FACTOR" | bc)
|
||||
|
||||
echo "Converting: $INPUT -> $OUTPUT"
|
||||
echo " Factor: ${FACTOR} | Output FPS: ${OUTPUT_FPS}"
|
||||
|
||||
ffmpeg -y -i "$INPUT" \
|
||||
-vf "setpts=${FACTOR}*PTS" \
|
||||
-r "$OUTPUT_FPS" \
|
||||
-c:v libx264 -preset fast -crf 23 -pix_fmt yuv420p \
|
||||
-movflags +faststart -an \
|
||||
"$OUTPUT"
|
||||
|
||||
echo ""
|
||||
echo "Verifying output..."
|
||||
DURATION=$(ffprobe -v quiet -show_entries format=duration -of csv=p=0 "$OUTPUT")
|
||||
ACTUAL_FPS=$(ffprobe -v quiet -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 "$OUTPUT")
|
||||
|
||||
echo " Duration: ${DURATION}s"
|
||||
echo " Frame rate: ${ACTUAL_FPS}"
|
||||
echo " File size: $(du -h "$OUTPUT" | cut -f1)"
|
||||
echo "Done."
|
||||