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)
-
Clona il repository:
git clone https://github.com/fracabu/video-to-text.git cd video-to-text
-
Crea e attiva un ambiente virtuale:
python -m venv venv source venv/bin/activate # Su Windows: venv\Scripts\activate
-
Installa le dipendenze richieste:
pip install -r requirements.txt
-
Avvia il server Flask:
python api.py
-
Naviga nella cartella
frontend
e installa le dipendenze:cd frontend npm install
-
Avvia l'applicazione React:
npm start
-
Apri l'applicazione in un browser all'indirizzo:
http://localhost:3000
Per far funzionare l'applicazione completa, avrai bisogno di aprire due terminali:
-
Primo terminale (Backend - Flask):
cd C:\Users\utente\video-to-text .\venv\Scripts\activate python api.py
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