#!/bin/bash
# 批量后处理：找最佳回卷点 -> 裁帧 -> 升采样 2K -> 编码
set -u
DIR=${1:-.}
for f in "$DIR"/S*_00001_.mp4; do
  [ -e "$f" ] || continue
  base=$(basename "$f" _00001_.mp4)
  seed=${base#S}
  keep=$(python3 bestcut.py "$f" | tail -1 | sed 's/.*保留 \([0-9]*\) 帧.*/\1/')
  dur=$(python3 -c "print(round($keep/24.0,3))")
  out="q21-gacha-${seed}-2k.mp4"
  ffmpeg -v error -y -i "$f" -vf "trim=end_frame=${keep},setpts=PTS-STARTPTS,scale=2048:1152:flags=lanczos,unsharp=5:5:0.55:5:5:0.0" \
    -af "atrim=0:${dur},asetpts=PTS-STARTPTS" -c:v libx264 -preset slow -crf 16 -pix_fmt yuv420p \
    -c:a aac -b:a 192k -movflags +faststart "$out"
  echo ">>> $out  (seed=$seed, 保留 ${keep} 帧 = ${dur}s)"
done
