In sintesi
Un file SRT (SubRip Subtitle, estensione
.srt) è un file di testo semplice con i sottotitoli: blocchi numerati, ciascuno con un tempo di inizio e di fine scritti comeore:minuti:secondi,millisecondie il testo da mostrare. Non contiene né video né audio, si apre in qualsiasi editor di testo ed è accettato da quasi tutti i player e le piattaforme video. Puoi scriverlo a mano, generarlo da testo semplice oppure esportarlo da una trascrizione, poi controllarlo con un validatore prima di caricarlo.
Se hai mai attivato i sottotitoli in un player video, è molto probabile che a farli funzionare fosse un file SRT. È uno dei formati di sottotitoli più vecchi ancora in uso quotidiano e uno dei formati di file più semplici che esistano, ed è proprio per questo che è ovunque.
Questa pagina copre l’intero formato in un unico posto: cosa c’è dentro un file, le regole esatte per ogni parte con le fonti primarie, come crearne e correggerne uno e in cosa si differenzia da WebVTT.
Che aspetto ha un file SRT dentro?
Un file SRT è un elenco di sottotitoli, e ognuno ha le stesse quattro parti: un numero di sequenza, una riga di tempo, una o due righe di testo e una riga vuota. Apri un qualsiasi file .srt con Blocco note o TextEdit e vedrai blocchi come questi:
1
00:00:01,600 --> 00:00:04,200
Bentornati sul canale.
2
00:00:04,400 --> 00:00:07,900
Oggi vediamo come funzionano
davvero i file di sottotitoli.
3
00:00:08,100 --> 00:00:10,000
<i>(si chiude una porta)</i>Letto dall’alto in basso, il secondo sottotitolo dice: mostra queste due righe dal secondo 4,4 al secondo 7,9 del video. Non ci sono intestazioni, né una sezione di stile, né dati binari, quindi il file resta piccolo e sopravvive all’apertura, alla modifica e al salvataggio da parte di quasi qualsiasi programma.
Quali sono le regole del formato SRT?
I riferimenti più vicini a una specifica per SubRip sono le descrizioni conservate dagli archivi e dai formati contenitore. La descrizione del formato della Library of Congress indica il timecode come ore:minuti:secondi,millisecondi, scritto 00:00:00,000, con la freccia --> tra inizio e fine, e la documentazione dei sottotitoli di Matroska descrive lo stesso blocco in quattro parti.
| Parte | Regola | Esempio |
|---|---|---|
| Numero di sequenza | Un numero intero su una riga a sé, che parte da 1 e cresce | 2 |
| Riga di tempo | Inizio e fine come ore:minuti:secondi,millisecondi, separati da --> con uno spazio per lato | 00:00:04,400 --> 00:00:07,900 |
| Separatore dei millisecondi | Una virgola, non un punto; il punto appartiene a WebVTT | ,400 |
| Testo | Una o più righe mostrate insieme; un a capo nel file è un a capo sullo schermo | Oggi vediamo come funzionano |
| Riga vuota | Chiude il sottotitolo; il numero successivo avvia il successivo | (riga vuota) |
| Formattazione | Tag semplici come <i>, <b> e <u>, rispettati da molti player e ignorati da altri | <i>(si chiude una porta)</i> |
Due dettagli rompono più file di tutto il resto messo insieme. Il primo è la virgola: una riga di tempo scritta con i punti, 00:00:04.400, è un’abitudine di WebVTT, e alcuni strumenti la rifiutano in un SRT. Il secondo è la riga vuota: un sottotitolo a cui manca la riga vuota si fonde con il successivo, e il player o li unisce o ne scarta uno.
Codifica
Salva i file SRT in UTF-8. Copre tutte le scritture, dalle lettere latine accentate ad arabo, cinese ed emoji, ed è ciò che i player attuali si aspettano. I file di vecchi strumenti Windows sono a volte in una codifica regionale obsoleta, ed è per questo che le lettere accentate diventano punti interrogativi o sequenze di simboli strani. Risalvare il file in UTF-8 in un editor di testo risolve il problema. Alcuni programmi aggiungono anche un byte order mark invisibile all’inizio di un file UTF-8; la maggior parte dei player lo ignora, ma se uno strumento rigoroso rifiuta il primo sottotitolo, la prima cosa da provare è salvare in UTF-8 senza il marcatore.
La lunghezza delle righe è una regola di lettura, non di formato
Il formato in sé non limita la lunghezza di una riga; lo fanno le guide di stile. La descrizione della Library of Congress cita un limite di 32 caratteri per riga, le BBC Subtitle Guidelines fissano 37 caratteri per la diffusione televisiva e la Netflix English (USA) Timed Text Style Guide consente 42 caratteri per riga, al massimo due righe. Un player mostrerà comunque una riga più lunga, di solito mandandola a capo, quindi il limite riguarda se le persone riescono a leggere il sottotitolo in tempo, cosa che il controllo della velocità di lettura del nostro validatore SRT misura rispetto alla guida che scegli.
A cosa servono i file SRT?
- Piattaforme video: carica un SRT insieme a un video e gli spettatori ottengono sottotitoli che possono attivare.
- Player per computer e TV: VLC e molti altri player caricano un SRT che si trova accanto al file video con lo stesso nome.
- Traduzione: i traduttori sostituiscono le righe di testo e lasciano stare i tempi, producendo un SRT per ogni lingua.
- Software di montaggio: i principali programmi di montaggio video importano l’SRT come traccia di sottotitoli.
- Accessibilità: i sottotitoli per spettatori sordi e ipoudenti, con le descrizioni dei suoni tra parentesi e i nomi di chi parla, entrano nelle righe di testo di un normale SRT.
Come si crea un file SRT?
Da un video, in automatico
Per un video YouTube, incolla il link nello strumento di trascrizione YouTube e premi SRT nella pagina della trascrizione: i tempi vengono dai sottotitoli del video stesso. Per le tue registrazioni e i tuoi file, l’app SozAI trascrive l’audio in 99 lingue ed esporta i sottotitoli.
Da un testo che hai già
Se hai un copione o una trascrizione come testo semplice, il generatore gratuito da TXT a SRT trasforma ogni paragrafo in un sottotitolo e gli dà una durata in base alla lunghezza, a 150 parole al minuto, mai inferiore a 2 secondi né superiore a 8. Dividi prima i paragrafi lunghi: un sottotitolo di più di 20 parole raggiunge il tetto di 8 secondi ed esce troppo veloce da leggere. Funziona nel browser e non viene caricato nulla.
A mano
Per un breve filmato, scrivere un SRT in un editor di testo è perfettamente ragionevole: segui il blocco in quattro parti, salva come subtitles.srt in UTF-8 e hai finito. Oltre un minuto o due di video, temporizzare a mano diventa noioso, e una delle due strade qui sopra è più rapida.
Perché il mio file SRT non funziona?
| Problema | Causa abituale | Soluzione |
|---|---|---|
| I sottotitoli non compaiono affatto | Estensione sbagliata, codifica sbagliata o riga di tempo malformata | Passa il file nel validatore SRT, che indica il blocco rotto |
| I sottotitoli sono in anticipo o in ritardo sempre della stessa quantità | Il video ha un’introduzione o un taglio che il file non conosce | Sposta tutti i timecode in una volta con lo strumento di spostamento dei tempi dei sottotitoli |
| I sottotitoli si sfasano sempre di più mentre il video procede | Il file è stato temporizzato per un frame rate diverso, per esempio 23,976 contro 25 | Vedi perché i sottotitoli si sfasano |
| Le lettere accentate appaiono alterate | Salvato in una codifica obsoleta | Risalva in UTF-8 |
| La piattaforma rifiuta il file | Si aspetta WebVTT | Converti con il convertitore da VTT a SRT |
In cosa SRT è diverso da WebVTT e dal timecode a fotogrammi?
WebVTT (.vtt) è il formato W3C usato dai player video HTML5. La specifica WebVTT del W3C scrive i millisecondi dopo un punto fermo con tre cifre e rende le ore facoltative, e un file inizia con una riga di intestazione WEBVTT; aggiunge inoltre posizionamento e stile che SRT non ha. I tempi sono lo stesso istante scritto in modo diverso, quindi convertire l’uno nell’altro è questione di punteggiatura e intestazioni, trattata più nel dettaglio in VTT contro SRT.
I software di montaggio contano il tempo in fotogrammi anziché in millisecondi, come timecode SMPTE, HH:MM:SS:FF. Un SRT conserva il tempo reale, quindi quando i sottotitoli vengono creati dal timecode di un montaggio, a decidere il risultato è il frame rate: a 29,97 fotogrammi al secondo, un’ora di timecode non-drop è più lunga di 3,6 secondi in tempo reale rispetto a quanto dice l’etichetta. Il nostro convertitore di timecode trasforma il timecode SMPTE, compreso il drop-frame, in timestamp SRT e viceversa.
Se ti servono solo le parole senza alcun tempo, lo strumento da sottotitoli a testo toglie numeri e timecode da un SRT o VTT e lascia paragrafi leggibili.

