Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je SRT naar VTT om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
SRT naar VTT
HTML-video ontvangt ondertiteling via een track-element, en dat element accepteert uitsluitend WebVTT. Krijgt een browser een SRT, dan gebeurt er niets: geen foutmelding, gewoon een video zonder ondertiteling. Die stilte is de reden dat de meeste mensen hier terechtkomen.
De twee formaten lijken zo op elkaar dat de mislukking verwarrender is dan nodig. Structureel is een WebVTT-bestand een SubRip-bestand met een kopregel en een andere decimaalscheiding, en dat zijn precies de twee dingen die deze omzetting fixt.
Het eerste is de tijdstempel: SubRip schrijft 00:01:32,500 met een komma; WebVTT schrijft 00:01:32.500 met een punt. Eén teken per tijdstempel, tweemaal per cue, en een parser die de komma tegenkomt stopt met lezen.
Het tweede is de kopregel: een WebVTT-bestand moet beginnen met het woord WEBVTT op zijn eigen eerste regel, vóór al het andere. De uitvoer hier begint met WEBVTT gevolgd door een lege regel, en elke tijdstempel wordt geschreven met een punt voor de fractie.
Het is het eerste dat bijna iedereen probeert, en begrijpelijk: het bestand is tekst, de structuren lijken op elkaar. Het kan alleen niet werken, want geen van beide verschillen zit in de bestandsnaam.
Wat dit duur maakt is dat de mislukking op iets anders lijkt. Ontwikkelaars die hernoemd hebben, gaan vervolgens het track-element, het bestandspad en de speler controleren — geen daarvan is het probleem.
SubRip nummert elke cue, beginnend bij één, op de regel boven de tijdstempel. Deze omzetter leest die nummers, doet er niets mee, en schrijft ze niet in de VTT. De uitvoer is een kop, een lege regel, en dan blokken van tijdstempel en tekst gescheiden door lege regels.
Dat is een bewuste keuze: WebVTT behandelt de regel voor de tijdstempel als optioneel identificatiekenmerk, geen teller, en niets in een browser hangt ervan af.
De tekst van elke cue wordt letterlijk gekopieerd van de SRT naar de VTT. Niets wordt verwijderd of herschreven. Beide formaten spellen cursief en vet op dezelfde manier, dus een bestand dat die gebruikt behoudt de nadruk op een webpagina.
Het gevolg is de moeite waard om vooraf te controleren: een spelerspecifieke code die desktopsoftware in een SRT wel begrijpt, reist ook ongewijzigd mee en een browser weet er niets van — het verschijnt als letterlijke tekens midden in een ondertitel.
Het track-element hoort binnen het video-element, met src naar het .vtt-bestand, kind ingesteld, srclang op de taalcode en een label dat de naam in het ondertitelmenu wordt. Voeg default toe als de ondertiteling standaard aan moet staan.
Het kind-attribuut verdient overweging in plaats van copy-paste. Subtitles gaan uit van een kijker die kan horen; captions beschrijven ook het niet-gesproken geluid. Waar captions een toegankelijkheidsverplichting zijn, voldoet vertaalde spraak alleen aan de opmaak, niet aan de eis.
Kloppen kop en tijdstempels en verschijnt er nog niets, dan liggen de overige oorzaken in de pagina zelf: het track-element mist misschien kind of srclang, of er is nergens een default-attribuut zodat de kijker de ondertiteling zelf moet aanzetten.
De duurste oorzaak is cross-origin: een VTT geserveerd vanaf een ander domein dan de pagina wordt geweigerd zonder de juiste headers, en dat gebeurt stil. Open de .vtt-URL rechtstreeks in een tab — rendert die als tekst, dan zit het probleem in de opmaak of de origin.
Ondertitelsoftware, transcriptiediensten en desktoptools zijn beter afgestemd op SRT dan op iets anders op deze site. Tekst en timing daar corrigeren en pas bij publicatie omzetten is een verstandige verdeling van het werk.
Vermijd het onderhouden van beide: twee bestanden die identiek begonnen, raken uit elkaar zodra iemand een typfout in een van de twee corrigeert. Behandel de VTT als bouwresultaat: regenereer hem, bewerk hem nooit.
Het bestand krijgt het WebVTT-mediatype text/vtt, en de server moet hetzelfde sturen. Veel oudere serverconfiguraties vallen terug op een generiek binair type of text/plain, en een browser mag een ondertitelbestand met het verkeerde type weigeren.
Ondertitelbestanden zijn klein en veranderen zelden, dus ze cachen goed — maar een lange cachetijd op een bestand dat je later corrigeert, is een fout die op een kijkersmachine blijft hangen. Versieer liever de bestandsnaam dan op een purge te vertrouwen.
In de browser, in JavaScript, zonder upload en zonder wachtrij. Het bestand wordt als tekst gelezen, ontleed in cues met milliseconden-timing, en teruggeschreven als WebVTT.
De gratis grens is 100 MB, en geen ondertitelbestand komt daar ooit in de buurt. Nuttiger is de garantie dat de uitvoer als UTF-8 wordt geschreven — SubRip kan zijn eigen tekencodering niet aangeven, wat de gewone bron is van misvormde accenten.
| SRT | VTT | |
|---|---|---|
| Volledige naam | SubRip-ondertitels | WebVTT |
| Bestandsextensie | .srt | .vtt |
| Mediatype | application/x-subrip | text/vtt |
| Voor het eerst gepubliceerd | 2000 | 2010 |
| Uitgegeven door | — | W3C |
| Specificatie | — | WebVTT |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Geen browser | Elke browser |
| In plaats daarvan overwogen | ASS | ASS |
Er gaat niets verloren. SRT en VTT bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.
VTT opent in elke actuele browser. SRT komt nog minder ver. Gaat het bestand naar een webpagina of een formulier, dan is dat meestal de hele reden voor de omzetting.
VLC en Subtitle Edit lezen zowel SRT als VTT, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
VTT komt van W3C en stamt uit 2010, vastgelegd in WebVTT. VLC en Subtitle Edit lezen het formaat.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
Nee. VTT bewaart dezelfde inhoud zonder iets weg te gooien: het resultaat is in kwaliteit identiek aan het origineel.
Er gaat niets verloren. SRT en VTT bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.