#!/bin/bash

echo "Optimizing all MP4 files..."
find . -name "*.mp4" -type f | while read file; do
    echo "Processing: $file"
    temp_file="${file}.tmp.mp4"
    
    # Check if file is writable
    if [ ! -w "$(dirname "$file")" ]; then
        echo "✗ No write permission: $(dirname "$file")"
        continue
    fi
    
    ffmpeg -i "$file" -c copy -movflags +faststart -y "$temp_file" 2>&1 | tail -5
    
    if [ -f "$temp_file" ]; then
        file_size=$(stat -f%z "$temp_file" 2>/dev/null || stat -c%s "$temp_file" 2>/dev/null)
        if [ "$file_size" -gt 0 ]; then
            rm "$file"
            mv "$temp_file" "$file"
            echo "✓ Optimized: $file"
        else
            rm -f "$temp_file"
            echo "✗ Temp file empty: $file"
        fi
    else
        echo "✗ Failed to create temp: $file"
    fi
done

echo ""
echo "Optimizing all MKV files..."
find . -name "*.mkv" -type f | while read file; do
    echo "Processing: $file"
    temp_file="${file}.tmp.mkv"
    
    if [ ! -w "$(dirname "$file")" ]; then
        echo "✗ No write permission: $(dirname "$file")"
        continue
    fi
    
    ffmpeg -i "$file" -c copy -y "$temp_file" 2>&1 | tail -5
    
    if [ -f "$temp_file" ]; then
        file_size=$(stat -f%z "$temp_file" 2>/dev/null || stat -c%s "$temp_file" 2>/dev/null)
        if [ "$file_size" -gt 0 ]; then
            rm "$file"
            mv "$temp_file" "$file"
            echo "✓ Optimized: $file"
        else
            rm -f "$temp_file"
            echo "✗ Temp file empty: $file"
        fi
    else
        echo "✗ Failed to create temp: $file"
    fi
done

echo ""
echo "✅ Done!"
