diff --git a/README.md b/README.md
index de3904d..03fe78d 100644
--- a/README.md
+++ b/README.md
@@ -2,852 +2,563 @@


-
+
-**Ganimede** è un'applicazione desktop Windows avanzata per l'estrazione automatica di frame da file video. Progettata con WPF e .NET 8, offre un'interfaccia moderna, gestione coda multi-video e configurazioni personalizzabili per ogni job.
+**Ganimede** è un'applicazione desktop Windows moderna e facile da usare per estrarre automaticamente frame (immagini) da file video. Non richiede installazioni complicate o configurazioni tecniche - basta scaricare ed eseguire!
---
-## 📋 Indice
+## 📋 Cosa Puoi Fare con Ganimede
-- [Caratteristiche Principali](#-caratteristiche-principali)
-- [Requisiti di Sistema](#-requisiti-di-sistema)
-- [Installazione](#-installazione)
-- [Guida Rapida](#-guida-rapida)
-- [Interfaccia Utente](#-interfaccia-utente)
-- [Modalità di Estrazione](#-modalità-di-estrazione)
-- [Configurazione Avanzata dei Job](#-configurazione-avanzata-dei-job)
-- [Pattern di Naming](#-pattern-di-naming)
-- [Impostazioni Globali](#-impostazioni-globali)
-- [Gestione della Coda](#-gestione-della-coda)
-- [Casi d'Uso Comuni](#-casi-duso-comuni)
-- [Risoluzione Problemi](#-risoluzione-problemi)
-- [Architettura Tecnica](#-architettura-tecnica)
+- ✅ **Estrarre immagini da video** in modo automatico
+- 🎯 **Tre modalità intelligenti**: estrazione completa, singola immagine o automatica
+- 📁 **Elaborare più video insieme** con una semplice coda
+- 🖼️ **Vedere l'anteprima** delle immagini estratte
+- ⚙️ **Personalizzare tutto**: nomi file, dimensioni, cartelle
+- 🔄 **Zero configurazione** - tutto funziona subito!
---
-## 🚀 Caratteristiche Principali
+## 💻 Cosa Ti Serve
-### Funzionalità Core
-- ✅ **Estrazione batch multi-video** con gestione coda intelligente
-- 🎯 **Tre modalità di estrazione**: Completa, Singolo Frame e Auto (con analisi euristica)
-- 🔧 **Configurazione granulare** per singolo job o globale
-- 📁 **Importazione massiva** da cartella con filtri automatici
-- 🖼️ **Anteprima thumbnails** in tempo reale
-- ⚙️ **6 pattern di naming** configurabili con prefissi custom
-- 🔄 **Gestione sovrascrittura** (Chiedi, Salta, Sovrascrivi)
-- 📐 **Ridimensionamento frame** con 5 preset (da 320x180 a Full HD)
-- 📊 **Monitoraggio avanzato**: progressi in tempo reale, statistiche, log dettagliati
-- 🎨 **Interfaccia moderna** dark-themed con feedback visivi immediati
+### Requisiti Minimi
+- **Computer**: Windows 10 o Windows 11 (64-bit)
+- **Software**: .NET 8 (gratuito, si installa in 2 minuti)
+- **Spazio disco**: 100 MB per l'applicazione + spazio per le tue immagini
-### Modalità di Estrazione Intelligente
-
-#### 🔹 **Modalità Completa** (Full)
-Estrae **tutti i frame** del video in immagini PNG sequenziali.
-- **Ideale per**: analisi frame-by-frame, time-lapse, dataset ML, animazioni
-- **Output**: 1 immagine PNG per ogni frame (es. video 60fps 10s = 600 immagini)
-
-#### 🔹 **Modalità Singolo Frame** (SingleFrame)
-Estrae **un unico frame rappresentativo** dal centro del video.
-- **Ideale per**: thumbnails, anteprime, screenshot rapidi
-- **Output**: 1 singola immagine PNG
-- **Ottimizzazione**: può evitare la creazione di sottocartelle (configurabile)
-
-#### 🔹 **Modalità Auto** (Auto)
-Analizza il video tramite **euristica intelligente** e decide automaticamente:
-- **Criteri di decisione**:
- - ✓ Video ≤ 2 secondi → SingleFrame
- - ✓ Video 3-45s con bitrate basso → SingleFrame (possibile video statico)
- - ✓ Altri casi → Full extraction
-- **Ideale per**: processamento batch di video eterogenei
-- **Feedback**: suggerisce la modalità anche se Full è selezionato
+**Nessun altro software richiesto!** Ganimede funziona usando le capacità video già integrate in Windows.
---
-## 💻 Requisiti di Sistema
+## 📦 Installazione (5 Minuti)
-### Software
-- **Sistema Operativo**: Windows 10/11 (x64)
-- **Runtime**: .NET 8 Desktop Runtime ([Download](https://dotnet.microsoft.com/download/dotnet/8.0))
-- **FFmpeg**: Versione 4.4+ (binari `ffmpeg.exe` e `ffprobe.exe`)
+### Passo 1: Scarica .NET 8
-### Hardware Minimo
-- **CPU**: Dual-core 2.0 GHz
-- **RAM**: 4 GB
-- **Spazio Disco**: 100 MB (applicazione) + spazio per frame estratti
+1. Vai su [Download .NET 8](https://dotnet.microsoft.com/download/dotnet/8.0)
+2. Clicca su **"Download .NET Desktop Runtime 8.0"** (Windows, x64)
+3. Esegui il file scaricato e segui l'installazione guidata
+4. Riavvia il computer (opzionale ma consigliato)
-### Formati Video Supportati
-`MP4`, `AVI`, `MOV`, `MKV`, `WMV`, `FLV`, `WEBM`
+**Come verificare l'installazione:**
+- Apri il Prompt dei comandi (cerca "cmd" nel menu Start)
+- Scrivi `dotnet --version` e premi Invio
+- Dovresti vedere un numero di versione (es. `8.0.0`)
+
+### Passo 2: Scarica Ganimede
+
+1. Vai alla [pagina Releases](https://192.168.30.23/Alby96/Ganimede/-/releases) del progetto
+2. Scarica l'ultima versione (file `Ganimede-v1.0.zip`)
+3. Estrai il file ZIP in una cartella (es. `C:\Programmi\Ganimede`)
+
+### Passo 3: Avvia Ganimede
+
+1. Apri la cartella dove hai estratto Ganimede
+2. Fai doppio clic su `Ganimede.exe`
+3. Se Windows chiede conferma, clicca **"Esegui comunque"**
+
+🎉 **Fatto!** L'applicazione è pronta all'uso.
---
-## 📦 Installazione
+## 🚀 Guida Rapida (Primi 5 Minuti)
-### 1. Installare .NET 8 Runtime
-```powershell
-# Verifica versione installata
-dotnet --list-runtimes
+### Come Estrarre Immagini da un Video
-# Se non installato, scarica da:
-# https://dotnet.microsoft.com/download/dotnet/8.0
+#### **Metodo Semplice (Per Iniziare)**
+
+1. **Avvia Ganimede** (doppio clic su `Ganimede.exe`)
+
+2. **Scegli dove salvare le immagini**
+ - Clicca il pulsante 🗂️ **"Seleziona Cartella Output"** in alto
+ - Scegli una cartella (es. `Documenti\FramiVideo`)
+ - Clicca **"Seleziona cartella"**
+
+3. **Aggiungi il tuo video**
+ - Clicca il pulsante ➕ **"Aggiungi Video"**
+ - Scegli un video dal tuo computer (es. `vacanze.mp4`)
+ - Clicca **"Apri"**
+
+4. **Avvia l'estrazione**
+ - Clicca il pulsante ▶️ **"Avvia Coda"** verde in alto
+ - Aspetta che la barra di avanzamento arrivi al 100%
+ - Vedrai il messaggio "Completato ✅"
+
+5. **Guarda le tue immagini**
+ - Apri la cartella che hai scelto al passo 2
+ - Troverai una sottocartella con il nome del video
+ - Dentro ci sono tutte le immagini estratte!
+
+**Esempio di risultato:**
+```
+📁 Documenti\FramiVideo\
+ └─ 📁 vacanze\
+ ├─ 🖼️ vacanze_000001.png
+ ├─ 🖼️ vacanze_000002.png
+ ├─ 🖼️ vacanze_000003.png
+ └─ ... (tante altre!)
```
-### 2. Installare FFmpeg
+#### **Metodo Veloce (Più Video Insieme)**
-#### Opzione A: Installazione Manuale
-1. Scarica FFmpeg da [ffmpeg.org](https://ffmpeg.org/download.html) o [gyan.dev](https://www.gyan.dev/ffmpeg/builds/)
-2. Estrai l'archivio (es. in `C:\ffmpeg\`)
-3. Copia i binari da `bin\`:
- - `ffmpeg.exe`
- - `ffprobe.exe`
-4. Configura il percorso in Ganimede → **⚙ Impostazioni** → **Configurazione FFmpeg**
+1. **Scegli la cartella output** (come sopra)
-#### Opzione B: Installazione con Chocolatey
-```powershell
-choco install ffmpeg
-```
+2. **Aggiungi tutti i video**
+ - Clicca 📁 **"Importa Cartella"**
+ - Scegli una cartella con tanti video dentro
+ - Ganimede li aggiunge tutti alla coda automaticamente
-#### Opzione C: Variabile PATH (Opzionale)
-Aggiungi la cartella `bin` di FFmpeg alla variabile d'ambiente `PATH` per il rilevamento automatico.
-
-### 3. Avviare Ganimede
-```powershell
-# Dalla directory di build
-cd Ganimede\bin\Release\net8.0-windows
-.\Ganimede.exe
-```
+3. **Avvia e aspetta**
+ - Clicca ▶️ **"Avvia Coda"**
+ - Ganimede elabora tutti i video uno dopo l'altro
+ - Puoi vedere il progresso di ciascuno nella lista
---
-## 🎯 Guida Rapida
+## 🎯 Le Tre Modalità di Estrazione
-### Workflow Base (5 minuti)
+Ganimede può estrarre immagini in tre modi diversi. Puoi scegliere quale usare nelle **Impostazioni**.
-1. **Seleziona cartella output**
- ```
- Toolbar → 🗂 Seleziona Cartella Output → Scegli destinazione
- ```
+### 1️⃣ **Modalità Completa** (Predefinita)
-2. **Aggiungi video**
- ```
- Toolbar → ➕ Aggiungi Video → Seleziona uno o più file
- ```
- Oppure:
- ```
- Toolbar → 📁 Importa Cartella → Importa tutti i video dalla cartella
- ```
+**Cosa fa:** Estrae **tutte** le immagini dal video, una per ogni fotogramma.
-3. **Avvia elaborazione**
- ```
- Toolbar → ▶ Avvia Coda
- ```
+**Quando usarla:**
+- Vuoi analizzare il video fotogramma per fotogramma
+- Stai creando un'animazione
+- Hai bisogno di tante immagini per un progetto
-4. **Monitora progressi**
- - Barra di avanzamento per ogni job
- - Statistiche in tempo reale nella barra di stato
- - Anteprima thumbnails nel pannello destro
+**Esempio:** Un video di 10 secondi a 30 fps = 300 immagini
-### Workflow Avanzato
-
-1. **Seleziona video** (checkbox nei job)
-2. **Configura selezionati**
- ```
- Toolbar → ⚙ Configura Selezionati → Imposta parametri custom
- ```
-3. **Avvia coda** e monitora l'elaborazione differenziata
+**Pro:** Ottieni ogni singolo fotogramma
+**Contro:** Crea tanti file (può richiedere molto spazio disco)
---
-## 🖥️ Interfaccia Utente
+### 2️⃣ **Modalità Singola Immagine**
-### Toolbar Principale
+**Cosa fa:** Estrae **1 sola** immagine dal centro del video.
-| Pulsante | Funzione | Shortcut |
-|----------|----------|----------|
-| **➕ Aggiungi Video** | Apre dialog selezione file multipli | - |
-| **📁 Importa Cartella** | Importa tutti i video da una cartella | - |
-| **🗂 Seleziona Cartella Output** | Imposta cartella destinazione globale | - |
-| **⚙ Configura Selezionati** | Apre finestra configurazione job selezionati | Solo se ≥1 selezionato |
-| **▶ Avvia Coda** | Inizia elaborazione job in stato "Pending" | Disabilitato durante elaborazione |
-| **⏹ Ferma** | Interrompe elaborazione corrente | Solo durante elaborazione |
-| **🧹 Pulisci Completati** | Rimuove job completati/falliti/cancellati | - |
-| **🗑 Pulisci Tutto** | Svuota l'intera coda (conferma richiesta) | - |
-| **⚙ Impostazioni** | Apre finestra impostazioni globali | - |
+**Quando usarla:**
+- Vuoi solo un'anteprima o una copertina del video
+- Hai bisogno di velocità (1 secondo per video)
+- Vuoi risparmiare spazio su disco
-### Pannello Coda Job
+**Esempio:** Un video di 10 secondi → 1 immagine dall'istante 5 secondi
-Ogni job mostra:
-- ☑️ **Checkbox**: Selezione per configurazione batch
-- 📹 **Nome video** + percentuale progresso
-- 📊 **Barra di avanzamento**: Progresso in tempo reale
-- 📝 **Stato**: Messaggio dettagliato operazione corrente
-- 📋 **Configurazione**:
- - 📁 Cartella output (Default o custom)
- - 📐 Dimensione frame (Original, 320x180, etc.)
- - 🔄 Modalità sovrascrittura (Ask, Skip, Overwrite)
- - 🏷 Pattern naming (VideoNameProgressive, etc.)
- - 🎯 Modalità estrazione (Full, SingleFrame, Auto)
-- ✕ **Rimuovi**: Elimina job dalla coda
-
-### Pannello Laterale Destro
-
-#### Impostazioni Globali
-- **Cartella Output**: Path globale per nuovi job (modificabile)
-- **Anteprima Thumbnails**:
- - Mostra fino a 60 frame dell'ultimo video completato
- - Scroll verticale per navigare
- - Dimensioni: 90x52px per thumbnail
-
-### Barra di Stato
-
-Informazioni in tempo reale:
-```
-Pronto | Job: In attesa: 3 | In corso: 1 | Completati: 5 | Falliti: 0
-```
+**Pro:** Velocissimo, occupa poco spazio
+**Contro:** Solo un'immagine per video
---
-## 🎯 Modalità di Estrazione
+### 3️⃣ **Modalità Automatica** (Intelligente)
-### Comparazione Modalità
+**Cosa fa:** Ganimede **analizza** il video e **decide** automaticamente:
+- Video molto breve (≤ 2 secondi) → Estrae 1 sola immagine
+- Video breve ma statico (3-45 sec, poco movimento) → Estrae 1 sola immagine
+- Altri video → Estrazione completa
-| Caratteristica | Full | SingleFrame | Auto |
-|---------------|------|-------------|------|
-| **Frame estratti** | Tutti | 1 (centrale) | Variabile |
-| **Analisi preliminare** | ❌ | ❌ | ✅ |
-| **Tempo elaborazione** | Alto | Minimo | Variabile |
-| **Uso disco** | Alto | Minimo | Variabile |
-| **Sottocartelle** | Sempre* | Opzionale* | Automatico |
-| **Caso d'uso** | Analisi dettagliata | Thumbnails | Batch misti |
+**Quando usarla:**
+- Hai una cartella con video di tipi diversi (corti e lunghi)
+- Vuoi che Ganimede scelga il metodo migliore automaticamente
+- Non sei sicuro quale modalità usare
-*Configurabile nelle impostazioni globali
+**Esempio:**
+- Video corto di 1 secondo → 1 immagine
+- Video lungo di 5 minuti → tutte le immagini
-### Algoritmo Euristica Modalità Auto
-
-```
-1. Analizza metadata video (FFProbe)
- ├─ Durata
- ├─ Framerate
- ├─ Bitrate
- └─ Risoluzione
-
-2. Applica regole euristiche:
- ├─ SE durata ≤ 2s
- │ └─> SUGGERIMENTO: SingleFrame
- ├─ SE 3s < durata < 45s AND bitrate < (pixels * 0.3)
- │ └─> SUGGERIMENTO: SingleFrame (video statico probabile)
- └─ ALTRIMENTI
- └─> SUGGERIMENTO: Full
-
-3. Applica suggerimento e processa
-```
-
-### Configurazione Sottocartelle (SingleFrame)
-
-**Comportamento predefinito:**
-- `Full/Auto→Full`: Crea sempre sottocartella `OutputFolder\VideoName\`
-- `SingleFrame`: Opzionale (impostazione `SingleFrameUseSubfolder`)
-
-**Esempio Output:**
-```
-✓ Full extraction (CreateSubfolder=true):
- C:\Output\Video1\frame_000001.png
- C:\Output\Video1\frame_000002.png
- ...
-
-✓ Single Frame (SingleFrameUseSubfolder=false):
- C:\Output\Video1_000001.png
-
-✓ Single Frame (SingleFrameUseSubfolder=true):
- C:\Output\Video1\Video1_000001.png
-```
+**Pro:** Intelligente, ottimizza spazio e tempo automaticamente
+**Contro:** Non hai controllo totale sulla scelta
---
-## ⚙️ Configurazione Avanzata dei Job
-
-### Finestra "Configura Selezionati"
-
-Accessibile tramite **⚙ Configura Selezionati** dopo aver selezionato ≥1 job.
-
-#### Sezione 1: Cartella di Output (Override)
-- ☑️ **Usa cartella di output personalizzata**
- - Sovrascrive la cartella globale per i job selezionati
- - Include pulsante **Sfoglia** per selezione visuale
-- ☑️ **Crea sottocartella per ogni video**
- - Se abilitato: `OutputFolder\VideoName\frames...`
- - Se disabilitato: `OutputFolder\frames...` (rischio collisione!)
-
-#### Sezione 2: Modalità di Estrazione
-```
-○ Completa → Estrae tutti i frame
-○ Singolo Frame → Estrae solo frame centrale
-○ Auto → Decide automaticamente via euristica
-```
-
-#### Sezione 3: Pattern Nome File (Override)
-- ☑️ **Usa pattern di naming personalizzato**
-- **Dropdown pattern**: 6 opzioni disponibili (vedi [Pattern di Naming](#-pattern-di-naming))
-- **Prefisso Custom**: Campo testo per `CustomProgressive` pattern
-- **Anteprima Live**: Mostra esempio filename in tempo reale
-
-#### Sezione 4: Modalità Sovrascrittura (Override)
-- ☑️ **Usa comportamento di sovrascrittura personalizzato**
-- **Opzioni**:
- - `Chiedi`: Dialog conferma per ogni job con file esistenti
- - `Salta`: Ignora frame già esistenti (velocizza re-run)
- - `Sovrascrivi`: Forza sovrascrittura senza chiedere
-
-#### Sezione 5: Ridimensionamento Frame (Override)
-- ☑️ **Usa dimensione frame personalizzata**
-- **Preset disponibili**:
- - `Risoluzione Originale` (default)
- - `320x180` (Veloce, ~56KB/frame)
- - `640x360` (Media, ~150KB/frame)
- - `1280x720` (HD, ~400KB/frame)
- - `1920x1080` (Full HD, ~800KB/frame)
-
-**Nota**: Ridimensionamenti maggiori aumentano tempo elaborazione e uso CPU.
+**Come Cambiare Modalità:**
+1. Clicca ⚙️ **"Impostazioni"** in alto
+2. Vai alla sezione **"Impostazioni di Elaborazione"**
+3. Cambia **"Modalità di Estrazione Predefinita"**
+4. Clicca **"Salva"**
---
-## 🏷️ Pattern di Naming
+## ⚙️ Impostazioni (Personalizza Come Vuoi)
-### Pattern Disponibili
-
-#### 1. **VideoNameProgressive** (Default)
-```
-Formato: {NomeVideo}_{Progressivo6Cifre}.png
-Esempio: Video1_000001.png, Video1_000002.png, ...
-Uso: Sequenze ordinate identificabili
-```
-
-#### 2. **FrameProgressive**
-```
-Formato: frame_{Progressivo6Cifre}.png
-Esempio: frame_000001.png, frame_000002.png, ...
-Uso: Naming generico, compatibilità universal
-```
-
-#### 3. **VideoNameTimestamp**
-```
-Formato: {NomeVideo}_{TimestampMs}.png
-Esempio: Video1_000000ms.png, Video1_033ms.png, ...
-Uso: Ricostruzione timeline esatta, sincronizzazione
-```
-
-#### 4. **CustomProgressive**
-```
-Formato: {PrefissoCustom}_{Progressivo6Cifre}.png
-Esempio: dataset_000001.png, train_000001.png, ...
-Uso: Organizzazione dataset ML, batch naming
-```
-
-#### 5. **TimestampOnly**
-```
-Formato: {Ore}h{Minuti}m{Secondi}s{Millisecondi}ms.png
-Esempio: 00h00m00s000ms.png, 00h12m34s567ms.png, ...
-Uso: Timeline pura, analisi temporale
-```
-
-#### 6. **VideoNameFrameProgressive**
-```
-Formato: {NomeVideo}_frame_{Progressivo6Cifre}.png
-Esempio: Video1_frame_000001.png, Video1_frame_000002.png, ...
-Uso: Massima chiarezza, identificazione immediata
-```
-
-### Configurazione Prefisso Custom
-
-Nel pattern **CustomProgressive**, il prefisso si configura:
-- **Globale**: Impostazioni → Naming File → `Prefisso Custom Predefinito`
-- **Per Job**: Configura Selezionati → Pattern Nome File → `Prefisso`
-
-**Caratteri validi**: `a-z A-Z 0-9 _ -`
+### Aprire le Impostazioni
+Clicca il pulsante ⚙️ **"Impostazioni"** nella barra in alto.
---
-## 🌐 Impostazioni Globali
+### **Sezione: Output**
-Accesso: **⚙ Impostazioni** (Toolbar)
+#### 📁 Crea sottocartella per ogni video
+- **Cosa fa:** Se attivo, crea una cartella separata per ogni video
+- **Esempio:**
+ - ✅ **Attivo:** `Output\vacanze\immagine_001.png`
+ - ❌ **Disattivo:** `Output\immagine_001.png` (tutti i video nella stessa cartella)
+- **Consiglio:** Lascia attivo per evitare confusione
-### Sezione: Configurazione FFmpeg
-
-#### Cartella Binari FFmpeg
-- **Path**: Percorso assoluto alla cartella contenente `ffmpeg.exe` e `ffprobe.exe`
-- **Validazione**: Controllo esistenza binari in tempo reale
-- **Fallback**: Se path vuoto, cerca FFmpeg nel `PATH` di sistema
-- **Status Indicator**:
- - ✅ Verde: Binari trovati e validi
- - ❌ Rosso: Binari mancanti o non validi
-
-**Esempio path validi:**
-```
-C:\ffmpeg\bin
-C:\Program Files\FFmpeg\bin
-D:\Tools\ffmpeg-6.0\bin
-```
-
-### Sezione: Output
-
-#### Crea sottocartella per ogni video
-- **Default**: ✅ Abilitato
-- **Comportamento**:
- - ✅ ON: `C:\Output\Video1\frames...`
- - ❌ OFF: `C:\Output\frames...` (tutti i video nella stessa cartella)
-- **Nota**: Disabilitare aumenta rischio collisione nomi file
-
-#### Cartella Output Predefinita
-- **Path**: Cartella globale per nuovi job aggiunti
-- **Persistenza**: Salvata in `Settings.Default.LastOutputFolder`
-- **Override**: Configurabile per job singoli
-
-### Sezione: Impostazioni di Elaborazione
-
-#### Dimensione Frame Predefinita
-- **Preset**: 5 opzioni (vedi [Ridimensionamento](#sezione-5-ridimensionamento-frame-override))
-- **Default**: `Dimensione Originale`
-- **Impatto performance**:
- - Original: 0% overhead
- - 320x180: +10% tempo
- - 1920x1080: +40% tempo (resize algoritmico)
-
-#### Comportamento Sovrascrittura Predefinito
-- **Opzioni**: `Chiedi` | `Salta` | `Sovrascrivi`
-- **Default**: `Chiedi`
-- **Uso consigliato**:
- - `Chiedi`: Primo run, prudenza
- - `Salta`: Re-run incrementali, resume jobs
- - `Sovrascrivi`: Ri-elaborazione forzata, pulizia output
-
-#### Modalità di Estrazione Predefinita
-- **Opzioni**: `Completa` | `Singolo Frame` | `Auto`
-- **Default**: `Completa`
-- **Impatto**: Si applica a tutti i nuovi job aggiunti
-
-#### Singolo Frame: salvataggio
-- ☑️ **Crea sottocartella anche per job a singolo frame**
-- **Default**: ❌ Disabilitato (salva diretto in cartella output)
-- **Se abilitato**: Crea `OutputFolder\VideoName\frame.png` anche per SingleFrame
-
-### Sezione: Naming File
-
-#### Pattern di Naming Predefinito
-- **Dropdown**: 6 pattern disponibili
-- **Preview Live**: Mostra esempio aggiornato in tempo reale
-- **Apply**: Si applica a tutti i nuovi job (job esistenti invariati)
-
-#### Prefisso Custom Predefinito
-- **Campo testo**: Stringa alfanumerica (default: `custom`)
-- **Uso**: Pattern `CustomProgressive`
-- **Anteprima dinamica**: Aggiornamento preview pattern istantaneo
-
-**Esempio Anteprima:**
-```
-Pattern: CustomProgressive
-Prefisso: dataset
-Preview: dataset_000001.png
-```
+#### 📂 Cartella Output Predefinita
+- **Cosa fa:** La cartella dove salvare tutte le immagini estratte
+- **Come cambiarla:** Clicca **"Sfoglia"** e scegli una nuova cartella
+- **Consiglio:** Usa una cartella facile da ricordare, come `Documenti\ImmaginiVideo`
---
-## 📊 Gestione della Coda
+### **Sezione: Impostazioni di Elaborazione**
-### Stati Job
+#### 📐 Dimensione Immagini
+Scegli quanto grandi devono essere le immagini estratte:
-| Stato | Icona | Descrizione | Azioni Disponibili |
-|-------|-------|-------------|-------------------|
-| **Pending** | ⏳ | In attesa di elaborazione | Configura, Rimuovi, Avvia |
-| **Processing** | ▶️ | Elaborazione in corso | Ferma (cancel) |
-| **Completed** | ✅ | Completato con successo | Rimuovi, Pulisci |
-| **Failed** | ❌ | Errore durante elaborazione | Rimuovi, Pulisci |
-| **Cancelled** | ⏹ | Annullato dall'utente | Rimuovi, Pulisci |
+| Opzione | Risoluzione | Quando Usarla | Dimensione File |
+|---------|-------------|---------------|-----------------|
+| **Originale** | Come il video | Massima qualità | Grande (~1 MB) |
+| **1920x1080** | Full HD | Video alta qualità | Media (~800 KB) |
+| **1280x720** | HD | Uso normale | Piccola (~400 KB) |
+| **640x360** | SD | Anteprime web | Molto piccola (~150 KB) |
+| **320x180** | Miniatura | Icone/thumbnail | Mini (~56 KB) |
-### Operazioni sulla Coda
-
-#### ▶ Avvia Coda
-- Elabora **sequenzialmente** tutti i job in stato `Pending`
-- Disabilita pulsante durante elaborazione
-- Continua finché coda vuota o `Ferma` premuto
-
-#### ⏹ Ferma
-- Cancella job corrente dopo il frame in elaborazione
-- Non interrompe immediatamente (attende completamento frame)
-- Job corrente passa in stato `Cancelled`
-
-#### 🧹 Pulisci Completati
-- Rimuove job in stato: `Completed`, `Failed`, `Cancelled`
-- Mantiene job `Pending` e `Processing`
-- Operazione istantanea senza conferma
-
-#### 🗑 Pulisci Tutto
-- **Se nessun job in elaborazione**:
- - Conferma → Svuota coda completamente
-- **Se job in elaborazione**:
- - Dialog tri-opzione:
- - `Sì`: Ferma tutto e svuota
- - `No`: Rimuovi solo job non in elaborazione
- - `Annulla`: Annulla operazione
-
-#### ⚙ Configura Selezionati
-- Disponibile solo con ≥1 job selezionato (checkbox)
-- Applica configurazioni custom in batch
-- Job non selezionati rimangono invariati
-
-### Statistiche Coda (Barra di Stato)
-
-```
-Job: In attesa: 3 | In corso: 1 | Completati: 5 | Falliti: 0
-```
-
-- **In attesa**: Count job `Pending`
-- **In corso**: Count job `Processing` (max 1)
-- **Completati**: Count job `Completed`
-- **Falliti**: Count job `Failed`
+**Consiglio:** Per la maggior parte degli usi, **1280x720** è perfetto (qualità buona, file non troppo grandi).
---
-## 💡 Casi d'Uso Comuni
+#### 🔄 Comportamento Sovrascrittura
+Cosa succede se le immagini esistono già nella cartella:
-### 1. Creazione Dataset Machine Learning
+- **Chiedi** (predefinito): Ti chiede ogni volta cosa fare
+- **Salta**: Non rielabora, salta le immagini già esistenti (utile per riprendere lavori interrotti)
+- **Sovrascrivi**: Cancella e ricrea tutto (usa se vuoi rigenerare tutto)
-**Obiettivo**: Estrarre 10.000 frame da 50 video per training CNN.
+**Consiglio:** Usa **"Chiedi"** la prima volta, poi **"Salta"** per risparmiare tempo.
+---
+
+#### 🎯 Modalità di Estrazione
+Scegli la modalità predefinita (vedi sezione [Le Tre Modalità](#-le-tre-modalità-di-estrazione)):
+- **Completa**: Tutte le immagini
+- **Singola Immagine**: Solo 1 immagine
+- **Automatica**: Ganimede decide (raccomandato se non sei sicuro)
+
+---
+
+#### 📂 Singolo Frame: Salvataggio
+- **Cosa fa:** Quando usi "Singola Immagine", puoi decidere se creare comunque una sottocartella
+- ✅ **Attivo:** Crea `Output\video\video_000001.png`
+- ❌ **Disattivo:** Crea `Output\video_000001.png` (direttamente nella cartella principale)
+
+**Consiglio:** Lascia disattivo per avere tutte le immagini singole in un unico posto.
+
+---
+
+### **Sezione: Naming File**
+
+#### 🏷️ Come Chiamare i File
+Ganimede può chiamare le immagini in modi diversi. Scegli quello che preferisci:
+
+**1. VideoNameProgressive** (Predefinito)
```
-1. Importa Cartella → Seleziona cartella video
-2. Configura Selezionati (seleziona tutti):
- - Modalità: Completa
- - Dimensione: 640x360 (Media)
- - Naming: CustomProgressive
- - Prefisso: train
- - Sovrascrittura: Sovrascrivi
+vacanze_000001.png
+vacanze_000002.png
+vacanze_000003.png
+```
+✅ **Usa questo se:** Vuoi file ordinati numericamente con il nome del video
+
+**2. FrameProgressive**
+```
+frame_000001.png
+frame_000002.png
+frame_000003.png
+```
+✅ **Usa questo se:** Non ti interessa il nome del video, vuoi solo numerazione
+
+**3. VideoNameTimestamp**
+```
+vacanze_000000ms.png
+vacanze_033ms.png
+vacanze_067ms.png
+```
+✅ **Usa questo se:** Vuoi sapere a che secondo del video corrisponde l'immagine
+
+**4. CustomProgressive**
+```
+mio_prefisso_000001.png
+mio_prefisso_000002.png
+mio_prefisso_000003.png
+```
+✅ **Usa questo se:** Vuoi dare un nome personalizzato ai file
+
+**Come personalizzare:** Scrivi il tuo prefisso nel campo **"Prefisso Custom"** (es. `foto_vacanze`)
+
+**5. TimestampOnly**
+```
+00h00m00s000ms.png
+00h00m00s033ms.png
+00h00m01s500ms.png
+```
+✅ **Usa questo se:** Vuoi i nomi basati solo sul tempo
+
+**6. VideoNameFrameProgressive**
+```
+vacanze_frame_000001.png
+vacanze_frame_000002.png
+vacanze_frame_000003.png
+```
+✅ **Usa questo se:** Vuoi il massimo della chiarezza nei nomi
+
+---
+
+### **Salvare le Impostazioni**
+
+Dopo aver fatto le modifiche:
+1. Clicca **"Salva"** in basso
+2. La finestra si chiude
+3. Le tue impostazioni sono ora attive per tutti i nuovi video!
+
+**Nota:** I video già in coda mantengono le vecchie impostazioni. Per cambiarle:
+- Seleziona i video (checkbox a sinistra)
+- Clicca ⚙️ **"Configura Selezionati"**
+- Cambia le impostazioni solo per quei video
+
+---
+
+## 🛠️ Funzioni Avanzate (Per Utenti Esperti)
+
+### Configurare Video Singoli
+
+Se vuoi impostazioni diverse per video specifici:
+
+1. **Aggiungi i video** alla coda
+2. **Seleziona** i video che vuoi configurare (checkbox a sinistra)
+3. Clicca ⚙️ **"Configura Selezionati"** in alto
+4. Nella finestra che appare, puoi cambiare:
+ - Cartella di output specifica
+ - Dimensione immagini
+ - Modalità estrazione
+ - Nome file
+ - Comportamento sovrascrittura
+5. Clicca **"Salva"**
+
+**Esempio pratico:**
+- Video 1 → Estrazione completa in HD
+- Video 2 → Solo 1 immagine piccola
+- Video 3 → Estrazione automatica in Full HD
+
+### Importare da Cartella
+
+Se hai tanti video in una cartella:
+
+1. Clicca 📁 **"Importa Cartella"**
+2. Scegli la cartella con i video
+3. Ganimede aggiunge automaticamente tutti i video supportati
+4. Clicca ▶️ **"Avvia Coda"**
+
+### Fermare l'Elaborazione
+
+Se vuoi fermare:
+1. Clicca ⏹️ **"Ferma"** in alto
+2. Ganimede finisce l'immagine corrente e poi si ferma
+3. Il video in elaborazione viene marcato come "Cancellato"
+
+### Pulire la Coda
+
+Dopo aver finito:
+- 🧹 **"Pulisci Completati"**: Rimuove solo i video completati/falliti
+- 🗑️ **"Pulisci Tutto"**: Svuota completamente la coda
+
+---
+
+## 💡 Esempi Pratici
+
+### Caso 1: Creare una Copertina per Video
+
+**Obiettivo:** Estrarre 1 immagine da 50 video per creare miniature.
+
+**Passi:**
+1. Impostazioni → Modalità: **Singola Immagine**
+2. Impostazioni → Dimensione: **640x360**
+3. Importa Cartella → Seleziona cartella con 50 video
+4. Avvia Coda
+5. **Risultato:** 50 immagini di copertina in pochi minuti!
+
+---
+
+### Caso 2: Estrarre Tutti i Frame da un Video
+
+**Obiettivo:** Analizzare un video fotogramma per fotogramma.
+
+**Passi:**
+1. Impostazioni → Modalità: **Completa**
+2. Impostazioni → Dimensione: **Originale**
+3. Aggiungi Video → Scegli il video
+4. Avvia Coda
+5. **Risultato:** Tutte le immagini in `Output\NomeVideo\`
+
+---
+
+### Caso 3: Batch Automatico (Video Misti)
+
+**Obiettivo:** Estrarre immagini da video di durata diversa in modo intelligente.
+
+**Passi:**
+1. Impostazioni → Modalità: **Automatica**
+2. Importa Cartella → Seleziona cartella con video misti
3. Avvia Coda
-4. Output: train_000001.png ... train_010000.png
-```
-
-**Risultato**: Dataset uniforme pronto per ingestion.
-
-### 2. Thumbnails Video Gallery
-
-**Obiettivo**: Generare 1 thumbnail per ogni video in una libreria di 200 video.
-
-```
-1. Importa Cartella → Seleziona libreria video
-2. Impostazioni → Modalità Estrazione: Singolo Frame
-3. Impostazioni → Singolo Frame: Disabilita sottocartelle
-4. Impostazioni → Dimensione: 320x180
-5. Impostazioni → Naming: VideoNameProgressive
-6. Avvia Coda
-7. Output: Video1_000001.png, Video2_000001.png, ...
-```
-
-**Risultato**: 200 thumbnails in cartella unica, pronti per web gallery.
-
-### 3. Time-Lapse Frame Extraction
-
-**Obiettivo**: Estrarre tutti i frame da video timelapse per post-processing.
-
-```
-1. Aggiungi Video → Seleziona timelapse.mp4
-2. Configura Selezionato:
- - Modalità: Completa
- - Dimensione: Original
- - Naming: VideoNameFrameProgressive
- - Sovrascrittura: Chiedi
-3. Avvia Coda
-4. Post-processing: import in DaVinci Resolve / After Effects
-```
-
-**Risultato**: Sequenza frame originali per grading/compositing.
-
-### 4. Batch Eterogeneo (Screenshot + Sequenze)
-
-**Obiettivo**: 10 video misti (documentari + clip brevi) → estrazione intelligente.
-
-```
-1. Importa Cartella → Seleziona 10 video
-2. Configura Selezionati (seleziona tutti):
- - Modalità: Auto
- - Dimensione: 1280x720
- - Naming: VideoNameProgressive
-3. Avvia Coda
-4. Sistema analizza ogni video e:
- - Clip 3s staticità → 1 frame
- - Documentari 30min → full extraction
-```
-
-**Risultato**: Ottimizzazione automatica tempo/spazio.
-
-### 5. Resume Job Interrotto
-
-**Obiettivo**: Riprendere estrazione interrotta senza ri-elaborare frame esistenti.
-
-```
-1. (Job precedente interrotto, 1500/5000 frame estratti)
-2. Configura Job:
- - Sovrascrittura: Salta
-3. Avvia Coda
-4. Sistema salta frame 1-1500, riprende da 1501
-```
-
-**Risultato**: Risparmio tempo, nessuna duplicazione.
-
-### 6. Multi-Resolution Export
-
-**Obiettivo**: Estrarre stessi frame in 3 risoluzioni (thumbnails, web, archivio).
-
-```
-1. Aggiungi Video → video.mp4 (3 volte nella coda)
-2. Configura Job 1:
- - Output: C:\Output\thumbnails\
- - Dimensione: 320x180
-3. Configura Job 2:
- - Output: C:\Output\web\
- - Dimensione: 1280x720
-4. Configura Job 3:
- - Output: C:\Output\archive\
- - Dimensione: Original
-5. Avvia Coda
-```
-
-**Risultato**: 3 set di frame ottimizzati per uso specifico.
+4. **Risultato:**
+ - Video corti → 1 immagine
+ - Video lunghi → tutte le immagini
+ - Tutto automatico!
---
## 🔧 Risoluzione Problemi
-### Problema: "FFmpeg not found"
+### ❌ "L'applicazione non si avvia"
-**Sintomi**: Errore all'avvio elaborazione, log "FFmpeg binary not found".
+**Possibili cause:**
+- .NET 8 non installato
+- File corrotti
-**Soluzioni**:
-1. **Verifica installazione**:
- ```powershell
- ffmpeg -version
- ffprobe -version
- ```
-2. **Configura path manualmente**:
- - Impostazioni → Configurazione FFmpeg → Sfoglia → Seleziona cartella `bin`
-3. **Reinstalla FFmpeg**:
- - Scarica build completa da [gyan.dev](https://www.gyan.dev/ffmpeg/builds/)
- - Estrai e configura path in Ganimede
-
-### Problema: Elaborazione lentissima
-
-**Cause comuni**:
-- Ridimensionamento attivo (1920x1080 → overhead +40%)
-- Video ad altissima risoluzione (4K+)
-- HDD lento (frame scritti su disco meccanico)
-- CPU sottodimensionata
-
-**Soluzioni**:
-- Usa dimensione frame `640x360` o inferiore
-- Salva output su SSD
-- Processa pochi video alla volta (ridurre I/O concorrente)
-- Modalità `Auto` o `SingleFrame` per video brevi
-
-### Problema: "Access Denied" durante salvataggio frame
-
-**Cause**:
-- Cartella output in directory protetta (`C:\Program Files`, etc.)
-- File aperti in altro programma (viewer immagini, etc.)
-- Permessi insufficienti
-
-**Soluzioni**:
-- Seleziona cartella output in `Documents` o `Desktop`
-- Chiudi programmi che potrebbero bloccare file
-- Esegui Ganimede come amministratore (click destro → Esegui come amministratore)
-
-### Problema: Frame estratti sono neri/corrotti
-
-**Cause**:
-- Codec video non supportato da FFmpeg build
-- Video corrotto nel filesystem
-- Timestamp seeking errato
-
-**Soluzioni**:
-- Aggiorna FFmpeg all'ultima versione
-- Verifica integrità video (riproduci in VLC)
-- Prova pattern naming `VideoNameTimestamp` (seeking alternativo)
-
-### Problema: Applicazione crash all'avvio
-
-**Cause**:
-- .NET 8 Runtime non installato
-- File di configurazione corrotti
-- Dipendenze mancanti
-
-**Soluzioni**:
-1. **Verifica .NET**:
- ```powershell
- dotnet --list-runtimes
- # Cerca "Microsoft.WindowsDesktop.App 8.0.x"
- ```
-2. **Reset configurazione**:
- ```powershell
- # Elimina file settings (path utente)
- del %LOCALAPPDATA%\Ganimede\user.config
- ```
-3. **Reinstalla applicazione**
-
-### Problema: Thumbnails non vengono mostrati
-
-**Causa**: Limite 60 thumbnails, o cartella output vuota.
-
-**Verifica**:
-- Controlla che job sia in stato `Completed`
-- Verifica esistenza file PNG in cartella output
-- Thumbnails mostrano ultimi 60 frame del job completato
+**Soluzione:**
+1. Verifica .NET 8:
+ - Apri Prompt dei comandi
+ - Scrivi `dotnet --version`
+ - Se non vedi un numero, installa .NET 8 (vedi [Installazione](#-installazione-5-minuti))
+2. Scarica di nuovo Ganimede ed estrai in una nuova cartella
+3. Riavvia il computer
---
-## 🏗️ Architettura Tecnica
+### ⏱️ "L'estrazione è molto lenta"
-### Stack Tecnologico
+**Possibili cause:**
+- Video in altissima risoluzione (4K)
+- Dimensione immagini troppo grande
+- Computer lento
-```
-Frontend: WPF (Windows Presentation Foundation)
-Runtime: .NET 8 (Windows Desktop)
-UI Pattern: MVVM (Model-View-ViewModel)
-Encoding: FFMpegCore (wrapper .NET per FFmpeg)
-Storage: Settings.settings (ApplicationSettings)
-```
+**Soluzione:**
+1. Usa dimensione **640x360** o **1280x720** invece di "Originale"
+2. Salva le immagini su un disco veloce (SSD) se possibile
+3. Elabora pochi video alla volta invece di 50 insieme
-### Componenti Principali
+---
-#### 1. **MainWindow.xaml** / **MainWindow.xaml.cs**
-- Controller principale UI
-- Gestione toolbar, coda visuale, thumbnails
-- Event handlers per interazioni utente
-- Binding a `VideoProcessingService` via `ObservableCollection`
+### 🖼️ "Le immagini sono nere o rovinate"
-#### 2. **VideoProcessingService.cs**
-- Core business logic
-- Gestione coda asincrona (`async/await`)
-- Processamento sequenziale job con `SemaphoreSlim`
-- Eventi: `JobCompleted`, `JobFailed`, `ProcessingStarted`, `ProcessingStopped`
-- Integrazione FFMpegCore per extraction
+**Possibili cause:**
+- Video corrotto
+- Codec video non supportato
-#### 3. **VideoJob.cs** (Model)
-- Entità dati job
-- Implementa `INotifyPropertyChanged` per binding real-time
-- Proprietà:
- - Config base: `VideoPath`, `OutputFolder`, `Status`, `Progress`
- - Custom overrides: `CustomOutputFolder`, `CustomFrameSize`, etc.
- - Modalità: `ExtractionMode`, `SuggestedExtractionMode`
-- Display properties per UI (`OutputFolderDisplay`, `FrameSizeDisplay`, etc.)
+**Soluzione:**
+1. Prova ad aprire il video con VLC o Windows Media Player
+2. Se il video non si apre correttamente, è probabilmente corrotto
+3. Se il video funziona ma Ganimede no, prova a convertirlo in MP4 con [HandBrake](https://handbrake.fr/) (gratuito)
-#### 4. **NamingHelper.cs**
-- Utility statica per generazione nomi file
-- Implementazione 6 pattern naming
-- Metodi helper: `GetPatternDescription()`, `GetPatternExample()`
+---
-#### 5. **JobConfigWindow.xaml** / **JobConfigWindow.xaml.cs**
-- Dialog configurazione batch job selezionati
-- Validazione input real-time
-- Preview pattern naming dinamica
+### 📁 "Errore: Accesso negato"
-#### 6. **SettingsWindow.xaml** / **SettingsWindow.xaml.cs**
-- Gestione impostazioni globali persistenti
-- Integrazione `Properties.Settings` (.NET Settings Framework)
-- Validazione path FFmpeg
+**Possibili cause:**
+- La cartella output è protetta (es. `C:\Programmi`)
+- Un altro programma ha aperto i file
-#### 7. **StatusColorConverter.cs**
-- Value converter XAML per colori stati job
-- Mapping: `Pending`→Grigio, `Processing`→Blu, `Completed`→Verde, etc.
+**Soluzione:**
+1. Cambia cartella output in `Documenti` o `Desktop`
+2. Chiudi programmi di visualizzazione immagini
+3. Se necessario, esegui Ganimede come amministratore:
+ - Click destro su `Ganimede.exe`
+ - **"Esegui come amministratore"**
-### Flusso Elaborazione
+---
-```
-[MainWindow] Utente preme "Avvia Coda"
- ↓
-[VideoProcessingService] StartProcessingAsync()
- ↓
-[Loop] GetNextPendingJob()
- ↓
-[ProcessJobAsync] Per ogni job:
- ├─ FFProbe.AnalyseAsync() → Metadata video
- ├─ Euristica Auto (se ExtractionMode = Auto)
- ├─ Directory.CreateDirectory() → Crea output folder
- ├─ SE SingleFrame:
- │ └─ ExtractFrameAsync() → 1 frame centrale
- ├─ SE Full:
- │ └─ Loop ExtractFrameAsync() → Tutti i frame
- ├─ Aggiornamento Progress ogni 10 frame
- └─ JobCompleted/JobFailed event
- ↓
-[MainWindow] Riceve evento → Aggiorna UI, carica thumbnails
-```
+### 🖼️ "Non vedo l'anteprima delle immagini"
-### Threading & Async
+**Causa:** Pannello anteprima mostra solo le ultime 60 immagini.
-- **UI Thread**: WPF Dispatcher per binding updates
-- **Background Thread**: `Task.Run` / `async/await` per FFmpeg calls
-- **Sincronizzazione**: `SemaphoreSlim(1,1)` per processing seriale
-- **Cancellation**: `CancellationTokenSource` per stop graceful
+**Soluzione:**
+- Aspetta che un video finisca di elaborare
+- Le anteprime appariranno automaticamente nella colonna destra
+- Se la colonna è vuota, verifica che ci siano effettivamente file PNG nella cartella output
-### Persistenza Dati
+---
-```csharp
-// Settings salvate in ApplicationData utente
-Settings.Default.LastOutputFolder // string
-Settings.Default.LastVideoPath // string
-Settings.Default.FFmpegBinFolder // string
-Settings.Default.FrameSize // string (es. "1280,720")
-Settings.Default.DefaultOverwriteMode // string (enum serializzato)
-Settings.Default.DefaultNamingPattern // string (enum serializzato)
-Settings.Default.DefaultExtractionMode // string (enum serializzato)
-Settings.Default.CreateSubfolder // bool
-Settings.Default.SingleFrameUseSubfolder // bool
-Settings.Default.DefaultCustomPrefix // string
+## 🎓 Suggerimenti per Principianti
-// Percorso file (Windows):
-%LOCALAPPDATA%\Ganimede\user.config
-```
+### ✅ Cosa Fare Prima di Iniziare
-### Dipendenze NuGet
+1. **Crea una cartella dedicata** per le immagini estratte (es. `Documenti\ImmaginiDaVideo`)
+2. **Prova con 1 video corto** prima di elaborare 100 video
+3. **Usa la modalità Automatica** se non sei sicuro
+4. **Controlla lo spazio disco** disponibile (1 minuto di video Full HD → ~1000 immagini → ~1 GB)
-```xml
-
-
-```
+### ❌ Cosa Evitare
+
+- ❌ Non usare cartelle di sistema come `C:\Windows` o `C:\Programmi`
+- ❌ Non elaborare 100 video Full HD se hai poco spazio disco (controlla prima!)
+- ❌ Non chiudere Ganimede durante l'elaborazione (usa "Ferma" se vuoi interrompere)
+
+### 💡 Trucchi Utili
+
+- 💡 **Seleziona più video** (Ctrl+Click o Shift+Click) per configurarli insieme
+- 💡 **Riprendi lavori interrotti** impostando Sovrascrittura su "Salta"
+- 💡 **Organizza per progetto** usando sottocartelle diverse (es. `Output\Vacanze`, `Output\Lavoro`)
+
+---
+
+## 🏗️ Informazioni Tecniche (Per Curiosi)
+
+### Come Funziona Ganimede
+
+Ganimede usa **Windows Media Foundation** (WMF), una tecnologia già presente in Windows 10/11. Per questo non servono installazioni aggiuntive o configurazioni complicate.
+
+**Tecnologie usate:**
+- **.NET 8**: Framework moderno Microsoft
+- **WPF**: Interfaccia grafica moderna
+- **Windows Media Foundation**: Decodifica video nativa Windows
+- **C# 12**: Linguaggio di programmazione
+
+**Caratteristiche tecniche:**
+- 🚀 Elaborazione video completamente asincrona (non blocca l'interfaccia)
+- 🎯 Supporto codec: H.264, H.265/HEVC, VP8, VP9, AV1, MPEG-4, WMV, Motion JPEG
+- 📦 Nessuna dipendenza esterna da installare
+- 💾 Immagini salvate in formato PNG (qualità lossless)
---
## 📄 Licenza
-Questo progetto è distribuito con licenza **MIT**. Consulta il file `LICENSE` per i dettagli completi.
+Ganimede è distribuito con licenza **MIT** - puoi usarlo liberamente per scopi personali e commerciali.
---
-## 👤 Autore
+## 👤 Supporto e Contatti
-**Ganimede Team**
-📧 Contatto: [Inserire email/GitHub]
+**Hai bisogno di aiuto?**
+- 📧 Email: [Inserire email supporto]
+- 🐛 Segnala problemi: [Issues GitHub](https://192.168.30.23/Alby96/Ganimede/issues)
+- 💬 Domande: [Forum/Discord]
---
## 🙏 Ringraziamenti
-- **FFmpeg Team** per il potente framework multimediale open-source
-- **FFMpegCore** per il wrapper .NET elegante e performante
-- Community .NET per supporto e feedback
+- **Microsoft** per .NET e Windows Media Foundation
+- **Community .NET** per supporto e feedback
+- **Tu** per usare Ganimede! 😊
---
-## 🔄 Versioni e Changelog
+## 🔄 Versioni
-### v1.0.0 (2025-01-XX)
-- ✅ Release iniziale
-- ✅ 3 modalità di estrazione (Full, SingleFrame, Auto)
-- ✅ 6 pattern naming configurabili
-- ✅ Configurazione granulare per job
-- ✅ UI dark-themed moderna
-- ✅ Sistema coda con stati avanzati
-- ✅ Thumbnails preview real-time
+### v5.0 (Dicembre 2024) - Corrente
+- ✅ Implementazione nativa Windows Media Foundation
+- ✅ Zero dipendenze esterne
+- ✅ Installazione semplificata
+- ✅ Performance migliorate con accelerazione hardware
+
+### v3.0 (Precedente)
+- ✅ Interfaccia dark moderna
+- ✅ Sistema coda avanzato
+- ✅ Tre modalità di estrazione
---
-**🚀 Buon Lavoro con Ganimede!**
+**🎬 Buon Divertimento con Ganimede!**
-Per segnalazioni bug, richieste feature o contributi, apri una issue nel repository GitHub del progetto.
+Trasforma i tuoi video in immagini in pochi click! 🚀