Rendi i contenuti video accessibili a tutti.
Video-to-Text è un'applicazione progettata per abbattere le barriere uditive, linguistiche ed economiche, rendendo i contenuti video accessibili a un pubblico più ampio. Le principali funzionalità includono:
- Conversione Video-Audio: Estrai l'audio dai video.
- Trascrizione Audio-Testo: Converte l'audio in testo, utile per persone con difficoltà uditive.
- Traduzione Testo: Traduce il testo trascritto in diverse lingue (attualmente supporta l'inglese, con piani di espansione per altre lingue).
- Estrazione Audio: Converte video di YouTube in file audio.
- Trascrizione del Testo: Trasforma l’audio estratto in testo.
- Traduzione del Testo: Traduce il testo trascritto in una lingua di destinazione.
- Interfaccia Intuitiva: Visualizza lo stato di avanzamento delle operazioni in tempo reale.
- Flask: Framework per creare l'API REST.
- Whisper: Modello di machine learning per trascrizione e traduzione multilingue.
- yt-dlp: Strumento per scaricare audio/video da YouTube.
- Werkzeug: Gestione sicura delle richieste e upload dei file.
- CORS: Configurazione delle policy di cross-origin.
- React: Libreria per la costruzione dell’interfaccia utente.
- Componenti UI Personalizzati: Per una migliore esperienza utente.
- Fetch API: Comunicazione asincrona tra frontend e backend.
- Python: Linguaggio di programmazione per il backend.
- JavaScript (ES6): Linguaggio di programmazione per il frontend.
- Python 3.x (consigliata versione 3.8 o superiore)
- Node.js e npm (per eseguire il frontend React)
- yt-dlp (installabile tramite pip)
Questa guida spiega come avviare Video-to-Text in locale su Windows, con due terminali separati per backend e frontend.
- Python 3.8+
- Node.js + npm
- Git (opzionale, se vuoi clonare la repo)
git clone https://github.com/fracabu/video-to-text.git
cd video-to-text
cd video-to-text
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
python api.py
✅ Il backend sarà attivo su: http://localhost:5000
cd video-to-text\frontend
npm install
npm run dev
✅ Il frontend sarà attivo su: http://localhost:5173
-
Tieni entrambi i terminali aperti:
- uno per
api.py
- uno per
npm run dev
- uno per
-
Se vuoi aprire le porte al pubblico su Vite:
npm run dev -- --host
- Inserisci URL YouTube o carica un file audio
- Il frontend comunica con l'API Flask
- Flask scarica/converte/trascrive l'audio
- Il testo viene mostrato nel frontend
Verifica il backend:
GET http://localhost:5000/
Dovresti ottenere:
{"message": "API is working!"}
Per problemi o domande:
- Email: fracabu@gmail.com
- LinkedIn: Francesco Capurso
MIT License
Questo avvierà il server Flask su http://localhost:5000.
-
Secondo terminale (Frontend - React):
cd C:\Users\utente\video-to-text\frontend npm run dev
Questo avvierà il server di sviluppo React su http://localhost:5173.
- L'interfaccia React (frontend) mostra la UI dove puoi inserire l'URL di YouTube.
- Quando fai una richiesta, il frontend comunica con il backend Flask.
- Il backend processa la richiesta (download video, conversione, trascrizione).
- Il risultato viene rimandato al frontend e mostrato nell'interfaccia.
Consiglio: Tieni aperti entrambi i terminali affiancati così puoi vedere i log sia del frontend che del backend mentre l'app è in esecuzione.
- Inserisci l'URL di un video di YouTube nell'app per estrarre l'audio.
- Carica il file audio per trascriverlo in testo.
- Seleziona la lingua per tradurre il testo (al momento solo inglese).
- Visualizza e scarica il testo trascritto o tradotto.
- Supporto per il caricamento di file video locali.
- Supporto per diversi formati video e audio (es.
.mp4
,.wav
,.ogg
). - Estensione del supporto alla traduzione in più lingue.
Contributi sono benvenuti! Per iniziare:
- Fai un fork del progetto.
- Crea un branch per la tua nuova feature (
git checkout -b feature/nuova-funzionalità
). - Effettua i tuoi cambiamenti e committali (
git commit -am 'Aggiunta nuova funzionalità'
). - Effettua un push del branch (
git push origin feature/nuova-funzionalità
). - Invia una pull request.
Questo progetto è distribuito sotto licenza MIT. Consulta il file LICENSE per maggiori informazioni.
Per domande o suggerimenti:
- Email: fracabu@gmail.com
- LinkedIn: Francesco Capurso