Lo spostamento temporale dei sottotitoli è un'operazione fondamentale per garantire la perfetta sincronizzazione tra la traccia audio-visiva e i testi a schermo. Quando un intero file di sottotitoli risulta costantemente in anticipo o in ritardo rispetto al parlato, l'applicazione di uno spostamento temporale fisso (time shift) consente di riallineare tutti i segmenti in un'unica operazione, preservando l'integrità della struttura del file originale.
Funzionamento dello spostamento temporale
Lo Strumento per spostare i tempi dei sottotitoli agisce modificando i timestamp di inizio e fine di ogni singolo segmento (cue) presente in un file SRT o WebVTT. Il processo prevede l'applicazione di un valore di spostamento uniforme, che può essere positivo o negativo:
- Valori positivi: Ritardano la comparsa dei sottotitoli, facendoli apparire più tardi sullo schermo.
- Valori negativi: Anticipano la comparsa dei sottotitoli, facendoli apparire prima.
Durante l'elaborazione, lo strumento analizza la struttura sintattica del file, convalida l'ordine cronologico dei segmenti e verifica che nessuna operazione di anticipo sposti l'inizio di un sottotitolo a un tempo inferiore a zero. Al termine della modifica, viene generato un nuovo file che mantiene esattamente lo stesso formato di input (SRT o VTT), pronto per essere scaricato o copiato.
Formati supportati e requisiti di codifica
Il corretto funzionamento dello strumento richiede il rispetto di specifiche caratteristiche strutturali dei file di input:
| Caratteristica | Requisito per SRT | Requisito per WebVTT |
|---|---|---|
| Codifica del testo | UTF-8 | UTF-8 |
| Intestazione | Blocchi numerati sequenzialmente | Deve iniziare con la stringa WEBVTT |
| Dimensione massima | Fino a 2 MB | Fino a 2 MB |
Tutti gli elementi non temporali del file, come gli identificatori dei segmenti, le impostazioni di posizionamento, le note, gli stili CSS, le definizioni delle regioni, le terminazioni di riga e il testo dei sottotitoli stesso, vengono conservati esattamente come scritti nel file originale, senza subire alterazioni o rimozioni.
Modalità di inserimento dello spostamento
L'entità dello spostamento può essere espressa attraverso due diverse modalità di input, a seconda delle preferenze dell'operatore o della precisione richiesta:
Modalità Secondi
Consente l'inserimento di numeri decimali con segno. Ad esempio, per ritardare i sottotitoli di due secondi e mezzo si utilizzerà il valore 2.5, mentre per anticiparli di tre quarti di secondo si utilizzerà -0.75.
Modalità Timecode
Utilizza il formato standardizzato H:MM:SS.mmm (ore, minuti, secondi e millisecondi) preceduto dal segno algebrico. Un esempio di inserimento per un anticipo temporale è -00:00:02.500.
Regole di convalida e gestione degli errori
Per garantire che il file risultante sia conforme agli standard e utilizzabile dai comuni lettori multimediali, lo strumento esegue severi controlli di integrità sul file inserito e sui parametri di spostamento. Di seguito vengono descritti i comportamenti del sistema e i relativi messaggi di errore restituiti in caso di anomalie:
- Verifica della presenza dei dati: Se si tenta di avviare l'elaborazione senza aver caricato o incollato un testo, il sistema mostra l'errore: "Incolla i sottotitoli o scegli prima un file SRT o VTT.".
- Limiti di dimensione e caratteri: Se il file supera i 2 MB, viene visualizzato l'errore: "Scegli un file di sottotitoli non più grande di
‹max›.". Se il testo incollato supera il limite massimo di caratteri consentito, compare l'avviso: "Il testo dei sottotitoli è troppo grande per essere elaborato qui. Mantienilo sotto‹max›caratteri.". - Estensione e codifica: L'uso di file con estensioni differenti da quelle supportate genera l'errore: "Scegli un file con estensione.srt o.vtt.". Se il file non è codificato correttamente, viene mostrato l'errore: "Questo file non contiene testo UTF-8 valido. Salvalo come UTF-8 e riprova.".
- Integrità del formato: Se la struttura non rispetta gli standard SRT o WebVTT, viene restituito l'errore: "Usa un file SRT standard con blocchi numerati o un file WebVTT che inizia con WEBVTT.".
- Coerenza dei timestamp: I timestamp non validi generano l'errore: "Il segmento
‹number›ha un timestamp non valido alla riga‹line›.". Inoltre, ogni segmento deve avere una durata positiva; in caso contrario, viene mostrato l'errore: "Il segmento‹number›deve terminare dopo il suo inizio.". - Cronologia e ordine dei segmenti: Lo strumento consente la sovrapposizione di segmenti e la presenza di sottotitoli con lo stesso tempo di inizio. Tuttavia, rifiuta i file in cui l'ordine cronologico generale non è rispettato, mostrando l'errore: "Il segmento
‹number›inizia prima del segmento precedente.". Nei file WebVTT, la presenza di timestamp interni (inline) non sequenziali o posizionati fuori dai limiti del segmento genera l'errore: "Il segmento‹number›ha un timestamp VTT interno fuori dai suoi limiti o non in ordine.". - Controllo del tempo zero: Uno spostamento negativo non può far iniziare un segmento prima del tempo
00:00:00.000. Se questa condizione si verifica, l'elaborazione viene bloccata per preservare l'integrità del file e viene mostrato l'errore: "Questo spostamento porterebbe il segmento‹number›prima dello zero. Usa‹minimum›o uno spostamento successivo.". - Errori di input dello spostamento: Se il campo dello spostamento è vuoto, compare l'errore: "Inserisci l’entità dello spostamento.". Se i formati non sono corretti, vengono mostrati rispettivamente gli errori: "Inserisci secondi con segno, ad esempio 2.5 o -0.75." oppure "Inserisci un timecode con segno, ad esempio -00:00:02.500.". Qualsiasi altro fallimento generico restituisce l'errore: "Non è stato possibile spostare i sottotitoli. Controlla i dati inseriti e riprova.".
Riservatezza e sicurezza dei dati
Il trattamento dei dati avviene interamente all'interno del browser dell'utente. Il testo dei sottotitoli e i file selezionati non vengono caricati su server esterni né vengono salvati da BroBroGo. L'intera elaborazione algoritmica viene eseguita localmente sul dispositivo in uso.
Domande frequenti
Quali file SRT e VTT sono supportati?
Usa file SRT in UTF-8 con blocchi numerati oppure file WebVTT che iniziano con WEBVTT. Identificatori, impostazioni, note, stili, regioni, terminazioni di riga e testo dei sottotitoli vengono conservati così come sono stati scritti.
Cosa succede se uno spostamento negativo porta un tempo sotto lo zero?
Lo spostamento viene interrotto invece di tagliare o eliminare segmenti. In questo modo la durata di ogni segmento e lo spostamento richiesto restano esatti; inserisci un anticipo minore e riprova.
Uno spostamento fisso può correggere sottotitoli che si desincronizzano sempre di più?
No. Uno spostamento fisso corregge lo stesso ritardo o anticipo in tutto il file. Se lo scarto aumenta durante la riproduzione, occorre modificare la velocità dei tempi o intervenire diversamente sui singoli segmenti.