#!/bin/bash

MALMAPP="/var/www/html/copy/foto1"
KALLMAPP="/var/www/html/hls1"
MAX_FILER=10
LOGG="/var/www/html/copy/kopieralog1.txt"
MAX_LOG_RADER=22
MONSTER="stream*.ts"

# Begränsa loggfilen
trim_logg() {
    [ -f "$LOGG" ] && tail -n "$MAX_LOG_RADER" "$LOGG" > "$LOGG.tmp" && mv "$LOGG.tmp" "$LOGG"
}

logga() {
    echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOGG"
    trim_logg
}

# Kontrollera ffmpeg
if ! command -v ffmpeg >/dev/null 2>&1; then
    logga "ffmpeg saknas"
    exit 1
fi

# Hämta senast modifierade TS
FIL=$(ls -1t "$KALLMAPP"/$MONSTER 2>/dev/null | head -n 1)

if [ -z "$FIL" ]; then
    logga "Ingen TS-fil hittades"
else
    FILNAMN=$(basename "$FIL" .ts)
    MP4FIL="$MALMAPP/$FILNAMN.mp4"

    if [ -f "$MP4FIL" ]; then
        logga "$FILNAMN.mp4 finns redan, hoppar över konvertering"
    else
        if ffmpeg -y -loglevel error -i "$FIL" -c copy "$MP4FIL"; then
            logga "Skapade $FILNAMN.mp4"
        else
            logga "Misslyckades konvertera $FIL"
            rm -f "$MP4FIL"
        fi
    fi
fi

# ---- STÄDNING (körs ALLTID) ----

ANTAL=$(ls -1 "$MALMAPP"/stream*.mp4 2>/dev/null | wc -l)

while [ "$ANTAL" -gt "$MAX_FILER" ]; do
    ALDSTA_FIL=$(ls -1t "$MALMAPP"/stream*.mp4 | tail -n 1)
    rm -f "$ALDSTA_FIL"
    logga "Raderade $(basename "$ALDSTA_FIL")"
    ANTAL=$(ls -1 "$MALMAPP"/stream*.mp4 2>/dev/null | wc -l)
done
