Sottotitolazione di 130 ore di video con l'automazione

Diagramma del flusso di lavoro di un progetto di automazione
Flusso di lavoro completo di automazione

La sfida

Un'agenzia di influencer marketing ci ha lanciato una sfida: automatizzare l'intero processo di sottotitolazione dei video di YouTube in 3 lingue diverse entro un massimo di 48 ore per ordine.

L'obiettivo era ridurre l'intervento manuale, accelerare la produzione e controllare ogni lavoro in tempo reale.

Il flusso di lavoro doveva coprire tutte le fasi chiave del processo:

  1. Caricamento dei video modificati su un server.
  2. Trascrizione automatica dei video e generazione di sottotitoli nella lingua corrispondente.
  3. Revisione e sincronizzazione manuale dei sottotitoli.
  4. Consegna finale dei file SRT.

Inoltre, il cliente aveva bisogno di un sistema per tenere traccia del tempo e registrare ogni lavoro per facilitare la fatturazione del lavoro di sottotitolazione manuale in base alla lunghezza di ogni video.

Per garantire il controllo e la tracciabilità di ogni incarico, abbiamo creato un foglio di calcolo in Google Sheets condiviso con i collaboratori, dove abbiamo registrato (tra le altre cose):

  • Dati video (data di arrivo, nome del file, durata).
  • Data di consegna.
  • Persona responsabile della sottotitolazione.

La comunicazione con il team è stata gestita attraverso Mattermost, un'alternativa open source a Slack, che ha facilitato il coordinamento tra il project manager e i vari collaboratori.

Tuttavia, è emersa un'importante limitazione: il cliente voleva che qualsiasi membro del suo team fosse in grado di caricare video senza la necessità di registrarsi o avere un account su un'applicazione specifica.

Questa restrizione ci ha portato a scartare l'opzione di utilizzare direttamente Sonix, lo strumento di trascrizione e sottotitolazione scelto, poiché non consente il caricamento anonimo.

Analisi del processo e scelta dello strumento

Per automatizzare il flusso di lavoro, abbiamo identificato le azioni chiave da eseguire automaticamente all'arrivo di ogni nuovo video:

  • Importare il video nella piattaforma di trascrizione Sonix.
  • Registrate i dati del video (data, mittente, nome del file e durata) nel foglio Google per ogni lingua.
  • Avvisate il team tramite un messaggio in Mattermost, in un canale dedicato per ogni lingua.

Un aspetto fondamentale dell'intero processo era il sistema di gestione della ricezione e dell'archiviazione dei video. Abbiamo quindi esplorato diverse soluzioni cloud e, dopo aver valutato diverse opzioni, abbiamo stabilito che l'alternativa migliore era utilizzare Google Drive. Questo sistema è ampiamente utilizzato e si distingue per la sua compatibilità con gli strumenti di automazione.

Pertanto, è stata presa in considerazione la possibilità di utilizzare un modulo Google collegato a Google Drive, ma anche questa opzione richiedeva l'accesso con un account Google, quindi non soddisfaceva l'esigenza di accessibilità universale per gli editori di video.

La soluzione definitiva è stata quella di aggiungere una fase preliminare al processo, sfruttando la funzionalità "Richiesta file" di Synology, che consente di creare una pagina dedicata con un semplice modulo. Gli utenti hanno semplicemente inserito il loro indirizzo e-mail e caricato il file, che è stato automaticamente archiviato in una cartella con il nome dell'indirizzo e-mail.

Per sincronizzare questa struttura con Google Drive, abbiamo utilizzato l'applicazione CloudStation, inclusa nel sistema operativo DSM di Synology. Ogni volta che un video veniva caricato sul server Synology, veniva automaticamente sincronizzato con una cartella di Google Drive.

Infine, per notificare l'arrivo di nuovi video, abbiamo programmato uno script cron. Ogni 15 minuti, lo script controllava il contenuto delle cartelle del server e, se rilevava nuovi file, inviava un'e-mail automatica al project manager con il percorso e il nome del file caricato.

Anche la scelta dello strumento di automazione è stata una parte fondamentale del servizio. La prima opzione che abbiamo preso in considerazione è stata Zapier, che consente di collegare Google Drive a Sonix tramite una "ricetta" predefinita. Il flusso era semplice: ogni volta che un nuovo file veniva caricato su Google Drive, Zapier lo trasferiva a Sonix, dove veniva eseguita la trascrizione automatica.

Sebbene questa integrazione funzionasse bene, aveva un limite importante: l'API di Google Drive non consente il monitoraggio ricorsivo delle sottocartelle. Ciò significava che era possibile monitorare solo la cartella principale, ma non le sue sottocartelle. Per questo progetto, in cui ogni editor video aveva una propria sottocartella, sarebbe stato necessario creare uno zap per ogni sottocartella, il che avrebbe richiesto uno sforzo manuale che contraddiceva l'obiettivo dell'automazione.

Schermata di Zapier

Quando Zapier è stato scartato, abbiamo valutato altre alternative:

  • n8n: una piattaforma di automazione open source, molto potente ma con un'interfaccia più complessa e una curva di apprendimento elevata. Dopo averla installata sul nostro server e averla testata, abbiamo concluso che non era l'opzione più efficiente per questo progetto.
  • Make: Questo servizio offriva una soluzione interessante, ma dopo la valutazione abbiamo ritenuto che altri strumenti fossero più adatti alle esigenze specifiche del nostro progetto in termini di funzionalità e flessibilità.
  • Pabbly Connect: si è distinto per l'attenzione rapida e dettagliata del suo team di supporto. Seguendo le loro indicazioni, abbiamo scelto di sviluppare l'automazione con questo strumento, che offre la flessibilità necessaria per gestire in modo efficiente cartelle e sottocartelle.

Sviluppo della soluzione in Pabbly Connect

Il trigger principale è stato definito come l'arrivo di un'e-mail di notifica indirizzata al project manager. Da questa e-mail sono stati estratti i seguenti dati chiave utilizzando le espressioni regolari (regex):

  • Nome del file: identifica il video da elaborare.
  • Cartella di origine: corrisponde all'indirizzo e-mail del mittente, utilizzato per organizzare le cartelle dei video.
  • Lingua del video: essenziale per classificare il video e inviare la notifica al canale Mattermost corrispondente (italiano, spagnolo o portoghese).

I dati chiave sono stati estratti dal corpo della mail utilizzando la funzione di espressione regolare (regex) di Pabbly Connect. L'obiettivo era quello di convertire il testo con più percorsi di file in una struttura chiara e ordinata.

Esempio di conversione:
Testo iniziale
/volume1/video/Company_ES/enrique.blanco@company.com/video1.mp4
/volume1/video/Company_IT/mario.rossi@company.com/video2.mp4
/volume1/video/Company_PT/joao.verdes@company.com/video3.mp4

Dati estratti
ES
enrique.blanco@company.com
video1.mp4

IT
mario.rossi@company.com
video2.mp4

PT
joao.verdes@company.com
video3.mp4

Il passo successivo è stato quello di automatizzare l'iterazione delle attività per elaborare ogni singolo video. Per farlo, abbiamo utilizzato la funzione Iterator di Pabbly Connect, che consente di ripetere una sequenza di passaggi per ogni elemento dell'e-mail.

Pabbly Connect Screenshot

Flusso di lavoro completo

  1. Ricezione della posta: Il sistema riceve un'e-mail a un indirizzo specifico creato con Pabbly Connect, che funge da trigger per avviare l'automazione.
  2. Separazione delle righe: utilizzando una regex, il corpo dell'e-mail viene diviso in tante righe quanti sono i video caricati, in modo da trattarli in modo indipendente.
  3. Estrazione dei datiTre dati chiave vengono estratti da un altro regex:
    • Lingua del video (per identificare il foglio Google e il canale Mattermost).
    • Posta del mittente (per identificare la cartella di origine).
    • Nome del file (per individuare il file in Google Drive).
  4. Conferma automatica: un'e-mail automatica viene inviata al mittente per confermare la ricezione del video.
  5. Ricerca in Google Drive: il file viene cercato in Google Drive utilizzando il nome del file come chiave di ricerca.
  6. Recupero dei metadati: Google Drive risponde con i dettagli del file, da cui viene estratta la data di caricamento.
  7. Verifica delle cartelle in Sonix:
    • Se la cartella del mittente non esiste, viene creata automaticamente e le viene assegnato lo stesso nome della cartella di origine.
    • Se la cartella esiste già, il flusso continua al passo successivo.
  8. Caricamento del video su Sonix: il video viene caricato nella cartella corrispondente di Sonix.
  9. Aggiornamento del foglio Google: una nuova riga con i dati chiave del video è stata aggiunta al foglio Google per la lingua.
  10. Notifica in Mattermost: Un messaggio automatico viene inviato al canale Mattermost per notificare al team che il video è ora disponibile per la revisione dei sottotitoli.

Gestione degli errori e degli imprevisti

In qualsiasi processo automatizzato, gli errori possono verificarsi in vari punti del flusso di lavoro. Pertanto, sono state implementate diverse misure di controllo degli errori e sono state definite delle contingenze per garantire la continuità operativa e ridurre il rischio di errore umano.

Principali fonti di errore identificate

  • Mancata connessione a Google Drive o a Sonix API: ciò può essere dovuto a problemi di rete o a una temporanea indisponibilità dei servizi.
  • File con nomi o formati errati: i file non conformi ai formati previsti possono causare errori nell'estrazione dei dati.
  • Errori di estrazione dei dati (regex): i modelli di testo possono fallire se la struttura della posta ricevuta cambia.

Misure di controllo implementate

  • Riprova automatica: se la connessione all'API di Google Drive o Sonix non riesce, il sistema riprova la connessione fino a 3 volte con intervalli di 5 minuti tra un tentativo e l'altro.
  • Convalida del formato: Prima di caricare i file, il nome del file e l'indirizzo postale vengono controllati per verificarne la conformità a un modello predefinito. I file non conformi al formato vengono segnalati per la revisione manuale.
  • Sistema di avviso: se dopo 3 tentativi la connessione API non viene ristabilita, viene inviata una notifica automatica in Mattermost e un'e-mail di avviso al project manager.

Grazie a queste misure, il sistema è più robusto, autonomo e sicuro contro gli errori esterni o di immissione dei dati. Questo approccio garantisce che il flusso non si fermi e che il team di produzione possa agire rapidamente in caso di guasti.

Schermata Sonix.ai

Impatto e lezioni apprese

Il progetto è stato realizzato con successo soprattutto grazie alla nostra automazione ed è stato in grado di funzionare per diversi mesi, con un tasso di errore inferiore al 5%. In particolare è stato raggiunto:

  • Rispettare costantemente la scadenza desiderata di 48 ore, compresa la parte di revisione manuale.
  • Evita gli errori umani eliminando la necessità di copiare e incollare manualmente i dati.
  • Centralizzare la comunicazione, assicurando che il team sia informato in tempo reale sull'arrivo di nuovi video.

Durante lo sviluppo di questa automazione, abbiamo identificato tre lezioni importanti:

  • Non sottovalutate l'importanza dei trigger: l'utilizzo di un indirizzo e-mail specifico come trigger ha permesso di centralizzare l'intero flusso.
  • Semplificare l'acquisizione dei dati: L'uso di espressioni regolari (regex) ha permesso di estrarre le informazioni in modo preciso e automatico.
  • Affidarsi al servizio clienti dei fornitori: la risposta rapida e dettagliata del supporto di Pabbly Connect è stata fondamentale per il successo del progetto.
Esplorate le possibilità dell'automazione nel vostro lavoro quotidiano.
Settore

Marketing

Strumenti chiave

Pabbly Connect
Synology CloudSync
Google Drive
Fogli di Google
Sonix.ai
Mattermost

Risultati

Sottotitolazione di 970 video (133 ore totali) e monitoraggio del progetto

Categoria
Grandi aziende
Tag
Automazione