Vistorm è un sistema avanzato per l'analisi e la previsione della viralità degli YouTube Shorts. Utilizzando dati in tempo reale e algoritmi di machine learning, permette di:
- Analizzare le tendenze musicali e il loro impatto sulle performance dei video.
- Identificare le caratteristiche chiave che contribuiscono alla viralità dei contenuti.
- Ottimizzare le strategie di creazione dei contenuti per migliorare l'engagement.
- Monitorare il canale visualizzando l'andamento in tempo reale e le metriche utili per prendere decisioni informate.
La piattaforma combina tecnologie all'avanguardia per trasformare intuizioni sui dati in risultati concreti.
-
Ingestione Dati:
- Raccoglie metriche video tramite YouTube Data API (es. visualizzazioni, like, commenti).
- Utilizza Audd Music Recognition API per identificare tracce audio nei video.
-
Streaming ed Elaborazione:
- Kafka invia i dati a Spark.
- Applica tecniche di data processing tramite Apache Spark.
- Arricchisce i dati con dataset Spotify tramite Kaggle API.
- Effettua previsioni di successo video utilizzando modelli di machine learning sviluppati con Spark MLlib.
-
Archiviazione e Visualizzazione:
- I dati predetti sono indicizzati in Elasticsearch.
- I risultati sono presentati in dashboard interattive su Kibana.
Riconoscimento e classificazione automatica delle tracce audio nei video, con corrispondenza rispetto ai brani virali di Spotify.
Valutazione dell’impatto dei contenuti audio tramite:
- Scenario senza musica: Previsione del rendimento di un video senza tracce audio.
- Scenario con musica non virale: Valutazione dell'impatto ridotto sull'engagement dovuto all'utilizzo di brani meno popolari o poco riconosciuti.
- Scenario con musica virale: Stima dell’incremento di visibilità grazie all’utilizzo di brani di tendenza.
Visualizzazione intuitiva delle previsioni e dei trend tramite Kibana, con filtri e grafici personalizzati.
Questo progetto si propone come uno strumento innovativo per content creators, offrendo loro la possibilità di comprendere l'impatto della musica sui loro video e monitorare il proprio canale. Analizzando dati chiave e prevedendo il potenziale incremento di visibilità grazie all'uso di tracce virali, consente di ottimizzare le strategie di contenuto e massimizzare il coinvolgimento del pubblico.
- Data Ingestion: Logstash.
- Data Streaming: Kafka.
- Data Processing: Apache Spark,.
- Machine Learning: Spark MLlib.
- Indexing and Storage: Elasticsearch.
- Data Visualization: Kibana.
- Deployment: Docker, Docker Compose.
- API Keys:
Important
Utilizzando le API gratuite di Google, si dispone di un limite di 10.000 token giornalieri. Si consiglia di monitorare il consumo tramite il loro sistema di monitoring per evitare interruzioni.
git clone https://github.com/giulsp/Vistorm.gitCreare un file .env nella directory conf:
AUDD_API_KEY="your_api_key"
YT_API_KEY="your_api_key"
YT_CHANNEL_ID="channel_to_monitor"Inserire il file kaggle.json con le credenziali nella directory conf.
Avviare l’intera pipeline tramite Docker Compose:
docker-compose up --buildLa dashboard di Kibana è accessibile all'indirizzo:
http://localhost:5601
Vistorm/ -> Directory principale del progetto
|
|-- conf/ -> Configurazioni e credenziali
| |-- .env -> File delle variabili di ambiente
| |-- kaggle.json -> Credenziali API di Kaggle
| |-- logstash/ -> Configurazioni di Logstash
| |-- logstash.conf -> File di configurazione principale
| |-- sincedb -> Stato della posizione di lettura di Logstash
|
|-- data/ -> Directory per la persistenza dei dati
| |-- dataset/ -> Dataset per l'addestramento di SparkMLlib
| |-- elasticsearch/ -> Indici e dati di Elasticsearch
| |-- kaggle/ -> Dataset delle canzoni da Kaggle
| |-- kibana/ -> (placeholder)
| |-- Spark/ -> Modelli addestrati tramite SparkMLlib
| |-- yt_out/ -> File NDJSON popolati in tempo reale dall'event listener
|
|-- docker_images/ -> Dockerfiles e requirements.txt per la costruzione delle immagini
|
|-- src/ -> Script Python
| |-- event_listener.py -> Monitoraggio nuovi caricamenti e preprocessing
|
|-- docker-compose.yml -> File per avviare i container
- Fork del Repository: Creare una copia del progetto sul proprio account GitHub.
- Clonare il Repository Forkato:
git clone https://github.com/giulsp/Vistorm.git- Creare un Branch:
git checkout -b nome-branch- Effettuare le Modifiche: Apportare i miglioramenti e testarli localmente.
- Commit e Push:
git add .
git commit -m "Descrizione modifiche"
git push origin nome-branch- Pull Request: Aprire una pull request verso il repository originale.
- ELK Stack: Copyright © Elasticsearch B.V. and licensed under the Elastic License 2.0.
- Apache Kafka & Apache Spark: Copyright © Apache Software Foundation, licensed under the Apache License 2.0.
Grazie per aver esplorato questo progetto! Spero che ti sia utile e che possa soddisfare le tue esigenze. 🚀
Per suggerimenti o problemi, contattami su GitHub: queenofh3ll20




