Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
Qui converti SRT in VTT gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
SRT in VTT
Il video HTML prende i sottotitoli tramite un elemento track, e l’unico formato che accetta è WebVTT. Consegnate a un browser un SRT e non succede nulla: nessun errore in console, nessuna voce nel menu sottotitoli, solo un video che riproduce senza sottotitoli. Quel silenzio è ciò che porta la maggior parte delle persone a questa conversione.
Il fatto che i due formati siano parenti stretti rende il fallimento più confuso di quanto meriti. Strutturalmente un file WebVTT è un file SubRip con una riga di intestazione e un separatore decimale diverso. Il browser non obietta a nulla di sostanziale; rifiuta un file a due modifiche meccaniche di distanza dalla validità.
La prima è il timestamp. SubRip scrive 00:01:32,500 con una virgola prima dei millisecondi; WebVTT scrive 00:01:32.500 con un punto. Un carattere per timestamp, due volte per cue, e un parser che trova la virgola smette di leggere. La maggior parte del mondo scrive i decimali con una virgola, motivo per cui i file modificati a mano acquisiscono questo difetto così spesso.
La seconda è l’intestazione. Un file WebVTT deve iniziare con la parola WEBVTT sulla propria prima riga, prima di qualunque altra cosa. Non è documentazione e non è opzionale — un file senza di essa viene rifiutato del tutto. L’output qui apre con WEBVTT seguito da una riga vuota, e scrive ogni timestamp come ore, minuti, secondi e millisecondi con le ore riempite a due cifre.
È la prima cosa che quasi tutti provano, ed è comprensibile: il file è testo, le strutture si somigliano, cambiare un’estensione richiede un secondo. Non può funzionare, perché nessuna delle due differenze sopra vive nel nome del file. Il risultato è un file che dichiara di essere WebVTT, viene servito come WebVTT, e viene scartato dal parser alla prima riga.
Ciò che rende costoso l’errore è che sembra qualcos’altro. Gli sviluppatori che hanno rinominato il file passano a controllare l’elemento track, il percorso file, il tipo MIME e il lettore, nessuno dei quali è il problema. Convertire correttamente elimina la possibilità.
SubRip numera ogni cue, a partire da uno, sulla riga sopra il timestamp. Questo convertitore legge quei numeri, non li usa per nulla, e non li scrive nel VTT. L’output è un’intestazione, poi una riga vuota, poi blocchi timestamp-e-testo separati da righe vuote.
È una decisione di progetto piuttosto che una perdita. WebVTT tratta la riga prima del timestamp come un identificatore di cue opzionale, non come un contatore, e nulla in un browser o un lettore dipende da esso. Qualunque cosa dobbiate davvero attaccare a un cue individuale — una posizione verticale, un allineamento — è un’impostazione cue scritta dopo il timestamp finale.
Il testo di ogni cue viene copiato alla lettera dall’SRT nel VTT. Nulla viene rimosso, escapato o reinterpretato. Entrambi i formati scrivono corsivo e grassetto allo stesso modo, con gli stessi tag a parentesi angolare, quindi un file che li usa per enfasi mantiene quell’enfasi su una pagina web.
La conseguenza vale la pena controllarla prima di pubblicare. Un codice specifico di un lettore che qualche software desktop onora in un SRT — un tag di posizionamento stile ASS tra graffe è il caso comune — sopravvive anch’esso alla lettera, e un browser non ha idea di cosa significhi. Apparirà come caratteri letterali nel mezzo di una didascalia.
L’elemento track va dentro l’elemento video, con src che punta al file .vtt, kind impostato, srclang impostato sul codice lingua, e un label che diventa la voce nel menu sottotitoli. Aggiungete l’attributo default se i sottotitoli devono essere attivi all’avvio, altrimenti lo spettatore deve trovare il menu e molti non lo faranno.
L’attributo kind è quello su cui vale la pena riflettere piuttosto che copiare. Subtitles presume uno spettatore che sente e traduce il dialogo; captions presume uno spettatore che non sente e quindi descrive anche l’audio non parlato. Dove i sottotitoli sono un obbligo di accessibilità, una track marcata captions con solo dialogo tradotto soddisfa il markup e non il requisito.
Se l’intestazione e i timestamp sono corretti e i sottotitoli ancora non appaiono, le cause restanti sono nella pagina piuttosto che nel file. All’elemento track potrebbe mancare kind o srclang, o lo spettatore potrebbe non aver mai attivato i sottotitoli perché non c’è un attributo default.
Quella che costa più tempo è cross-origin. Un VTT servito da un’origine diversa dalla pagina viene rifiutato a meno che la risposta non porti le intestazioni cross-origin corrette, e il rifiuto è silenzioso. Servire il file sottotitoli dalla stessa origine della pagina rimuove l’intera classe di problema.
Editor di sottotitoli, servizi di trascrizione e strumenti desktop sono migliori con SRT che con qualunque altra cosa su questo sito; è il formato che l’intero ecosistema assume. Correggere testo e tempi lì e convertire al momento della pubblicazione è una buona divisione del lavoro.
Il fallimento da evitare è mantenere entrambi. Due file iniziati identici divergono la prima volta che qualcuno corregge un refuso in uno dei due, e la divergenza è invisibile finché uno spettatore non legge un sottotitolo che la trascrizione non contiene. Trattate il VTT come output di build: rigeneratelo, non modificatelo mai.
Nel vostro browser, in JavaScript, senza caricamento e senza coda. Il file viene letto come testo, analizzato in una lista di cue con tempi in millisecondi, e riscritto in forma WebVTT. Nessun server è coinvolto, ed è per questo che è istantaneo.
Il tetto gratuito è 100 MB e nessun file sottotitoli lo avvicinerà mai — un lungometraggio sono poche decine di kilobyte di testo. La garanzia più utile è che l’output è scritto come UTF-8. SubRip non ha modo di dichiarare la propria codifica, motivo per cui i caratteri accentati vanno male così spesso.
| SRT | VTT | |
|---|---|---|
| Nome completo | Sottotitoli SubRip | WebVTT |
| Estensione del file | .srt | .vtt |
| Tipo di media | application/x-subrip | text/vtt |
| Prima pubblicazione | 2000 | 2010 |
| Pubblicato da | — | W3C |
| Specifica | — | WebVTT |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Tutti i browser |
| Valutato al suo posto | ASS | ASS |
Non si scarta nulla. SRT e VTT salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
VTT si apre in qualsiasi browser attuale. SRT raggiunge ancora meno browser. Se il file va su una pagina web o in un modulo, di solito è tutto il motivo della conversione.
VLC e Subtitle Edit leggono sia SRT sia VTT, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
VTT viene da W3C e risale al 2010, descritto in WebVTT. VLC e Subtitle Edit lo leggono.
No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file.
Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta.
No. VTT conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.
Non si scarta nulla. SRT e VTT salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.