#!/bin/zsh
set -euo pipefail

DIR="$(cd "$(dirname "$0")" && pwd)"
FFMPEG="$DIR/ffmpeg"

mkdir -p "$DIR/Output"

# zsh: wenn kein Match, wird Pattern sonst als Text weitergegeben -> vermeiden wir so:
setopt NULL_GLOB

files=( "$DIR"/Input/*.(mp4|mov) )

if (( ${#files[@]} == 0 )); then
  echo "Keine .mp4 oder .mov Dateien in $DIR/Input gefunden."
  exit 0
fi

for f in "${files[@]}"; do
  base="$(basename "$f")"
  name="${base%.*}"

  echo "Processing: $base"

  "$FFMPEG" -y -hide_banner -loglevel error \
    -i "$f" \
    -vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" \
    -c:v libx264 -preset medium -crf 23 \
    -c:a aac -b:a 160k -ar 48000 \
    -af "loudnorm=I=-14:LRA=11:TP=-2" \
    -movflags +faststart \
    "$DIR/Output/${name}.mp4"
done

echo "Fertig. Output liegt in: $DIR/Output"