diff --git a/README.it.md b/README.it.md
index 6da13d5..fd039fe 100644
--- a/README.it.md
+++ b/README.it.md
@@ -8,16 +8,17 @@
**ghòstati** (dal repository `antagonistrucco`) è una piattaforma sperimentale e uno strumento diagnostico progettato per contrastare gli algoritmi di riconoscimento facciale. Applicando specifici pattern di trucco (ispirati al concetto di CV Dazzle), gli utenti possono esplorare come i modelli di computer vision interpretano i landmark facciali e tentare di offuscare la propria identità digitale in tempo reale.
-Il progetto presenta un'architettura modulare basata su plugin, la quale permette a qualsiasi sviluppatore di scrivere script di trucco AR personalizzati ("Ghostyles") e di testarne l'efficacia contro i modelli di riconoscimento direttamente nel browser tramite la webcam.
+Il progetto presenta un'architettura modulare basata su plugin, la quale permette a qualsiasi sviluppatore di scrivere script di trucco AR personalizzati ("Ghostyles") e di testarne l'efficacia contro i modelli di riconoscimento direttamente nel browser sia tramite la webcam live sia tramite un file video locale caricato dall'utente.
## Funzionalità Principali
- **Live Face Tracking:** Rilevamento dei landmark facciali in tempo reale direttamente nel browser utilizzando `face-api.js`.
+- **Flusso a Doppia Sorgente:** Puoi partire dalla webcam live oppure caricare un file video locale. I file locali usano un flusso in due fasi: una fase di selezione per scorrere il video e scegliere il punto di partenza, seguita da una fase overlay per eseguire tracking dei landmark e rendering dei Ghostyle in tempo reale.
- **Sistema di Plugin Modulare (Ghostyles):** Carica dinamicamente effetti di trucco AR personalizzati. I plugin possono essere ospitati localmente o tramite URL remoto. Alcuni effetti inclusi:
- Graphic Liner, Smokey Eyes, Blush Lift, Lip Tint, Soft Contour, Stage Mask, Splash, etc.
- **Modalità Diagnostica ("Scansione Trucco"):** Testa l'efficacia del tuo camouflage AR. Lo strumento valuta l'opacità del trucco, cattura il volto alterato e calcola la probabilità di corrispondenza rispetto ai profili salvati per determinare se il sistema di riconoscimento è stato ingannato.
- **Salva e Confronta (Enrolling):** Salva un volto di base iniziale e confrontalo con il feed live della webcam per verificare se l'algoritmo di face matching ti riconosce ancora dopo aver applicato il camuffamento.
-- **Privacy-First:** Tutte le elaborazioni vengono eseguite localmente sul computer, senza caricare dati biometrici su server remoti.
+- **Privacy-First:** Tutte le elaborazioni vengono eseguite localmente sul computer, senza caricare dati biometrici o file video su server remoti.
## Installazione
@@ -35,6 +36,15 @@ Trattandosi di un'applicazione web statica, non è necessario alcun passaggio di
python3 -m http.server 8000
```
3. Apri un browser moderno e vai all'indirizzo `http://localhost:8000/ghostati-face-api.html`.
+4. Scegli `Avvia Webcam` per il flusso live, oppure carica un file con `Carica Video (Locale)`.
+5. Se usi un file locale, scorri il video nella fase di selezione e poi premi `AVVIA OVERLAY` per avviare tracking e rendering.
+
+## Uso Dei File Video Locali
+
+- L'analisi dei file video locali avviene interamente nel browser e non carica il media su servizi esterni.
+- Durante la fase di selezione il video espone i controlli nativi del browser, così puoi scegliere il punto di partenza prima di avviare l'overlay.
+- File lunghi, ad alta risoluzione o in 4K possono saturare la memoria del browser. L'interfaccia mostra un indicatore del JS heap per aiutare a capire quando il clip è troppo pesante per la sessione corrente.
+- Quando torni alla webcam, la sorgente file viene rilasciata e l'object URL associato viene revocato.
## Sviluppare un Ghostyle (Plugin)
diff --git a/README.md b/README.md
index 82e47e7..c8028bd 100644
--- a/README.md
+++ b/README.md
@@ -8,16 +8,17 @@
**ghòstati** (from the repository `antagonistrucco`) is an experimental platform and diagnostic tool designed to counter facial recognition algorithms. By applying specific makeup patterns (inspired by the CV Dazzle concept), users can explore how computer vision models interpret facial landmarks and attempt to anonymize their digital footprint in real time.
-The project features a fully modular, plugin-based architecture, allowing any developer to write custom AR makeup scripts ("Ghostyles") and test their efficiacy against recognition models directly in the browser via their webcam.
+The project features a fully modular, plugin-based architecture, allowing any developer to write custom AR makeup scripts ("Ghostyles") and test their efficiacy against recognition models directly in the browser either via the live webcam or via a locally uploaded video file.
## Features
- **Live Face Tracking:** Real-time facial landmark detection directly in the browser utilizing `face-api.js`.
+- **Dual Source Workflow:** You can start from the live webcam or load a local video file. Local files use a two-step flow: a selection phase for scrubbing and choosing the source segment, then an overlay phase for real-time landmark tracking and Ghostyle rendering.
- **Modular Plugin System (Ghostyles):** Load custom AR makeup effects dynamically. Plugins can be hosted locally or loaded via a remote URL. Included effects:
- Graphic Liner, Smokey Eyes, Blush Lift, Lip Tint, Soft Contour, Stage Mask, Splash, etc.
- **Diagnostic Mode ("Scansione Trucco"):** Test the effectiveness of your AR camouflage. The tool evaluates makeup opacity, captures the altered face, and computes matching likelihood against saved profiles to determine if the face recognition system is successfully spoofed.
- **Save & Compare:** Save an initial baseline face and compare live webcam feeds to it to check if the face matching algorithm still recognizes you after applying the camouflage.
-- **Privacy-First:** All processing is done locally on the client interface without uploading biometric data to remote servers.
+- **Privacy-First:** All processing is done locally on the client interface without uploading biometric data or local video files to remote servers.
## Getting Started
@@ -35,6 +36,15 @@ Since it's a static web application, there is no build step required.
python3 -m http.server 8000
```
3. Open a modern browser and navigate to `http://localhost:8000/ghostati-face-api.html`.
+4. Choose `Avvia Webcam` for the live camera flow, or upload a local file with `Carica Video (Locale)`.
+5. If you load a file, scrub to the point you want to analyze during selection mode, then press `AVVIA OVERLAY` to start tracking and rendering.
+
+## Working With Local Video Files
+
+- Local video analysis is performed entirely in-browser and does not upload media anywhere.
+- Uploaded files expose native video controls during the selection phase so you can choose the starting point before the overlay loop begins.
+- Long, high-resolution, or 4K files can exhaust browser memory. The interface exposes a JS heap readout to help detect when a clip is too heavy for the current browser session.
+- When you switch back to the webcam, the file source is released and its object URL is revoked.
## Writing a Ghostyle (Plugin)
diff --git a/ghostati-face-api.html b/ghostati-face-api.html
index 340ee8a..b8a9258 100644
--- a/ghostati-face-api.html
+++ b/ghostati-face-api.html
@@ -31,12 +31,12 @@
ghòstati
- Qui è tutto in ALPHA, se vuoi passa sul repository.
@@ -44,13 +44,56 @@ ghòstati