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 VTT naar SRT 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.
VTT naar SRT
WebVTT bestaat voor de browser en is daar erg goed in, wat meteen de grens is. Desktopspelers, televisies, mediaboxen, de meeste hardware die ondertitels van een USB-stick leest, en een groot deel van de uploadformulieren verwachten SubRip en behandelen al het andere als een onbekend bestand.
De bronnen zijn de moeite waard om te noemen, want ze bepalen wat je achteraf moet controleren. Een VTT gedownload uit een webplayer draagt vaak cue-instellingen. Een geëxporteerd door een transcriptiedienst draagt vaak stemtags die de spreker benoemen. Een gemaakt door een ondertiteleditor is meestal plat.
Een WebVTT-timingregel kan na de eindtijd instellingen dragen: een regelnummer dat de ondertitel bovenaan zet, een uitlijning, een breedte. De converter leest de eindtijd tot de eerste spatie en gooit de rest weg, omdat SubRip geen syntax heeft die dat kan bevatten.
Dit is het enige echte verlies in de omzetting en het is onzichtbaar in de uitvoer. Waren je ondertitels bewust gepositioneerd — verplaatst naar boven voor de paar seconden dat een onderschrift in beeld is — dan ziet de SRT er correct uit en zet elke regel onderaan.
Cue-tekst wordt zonder interpretatie gekopieerd. Dat is het juiste gedrag voor cursief, dat beide formaten identiek spellen, en het verkeerd-uitziende gedrag voor een WebVTT-stemtag, die de spreker in punthaken voor de regel noemt. SubRip kent geen equivalente constructie, dus de tag wordt niet vertaald en ook niet verwijderd.
Een speler toont hem gewoon. De ondertitel leest als de sprekersnaam tussen punthaken gevolgd door de dialoog. De oplossing is een zoek-en-vervang over het afgeronde bestand — de tags verwijderen, of ze omzetten naar een naam-met-dubbele-punt-conventie.
Een WebVTT-bestand kan commentaarblokken bevatten met NOTE en een STYLE-blok met CSS voor het cue-pseudo-element. Geen van beide bevat een tijdstempelpijl, en de parser herkent een cue door naar die pijl te zoeken in plaats van regels te tellen, dus beide worden overgeslagen.
De praktische waarde daarvan is negatieve ruimte: de SRT bevat alleen echte cues, en niets uit de auteurslaag van de VTT lekt erin. De keerzijde is dat opmaak gedefinieerd in dat blok verdwijnt, wat telt als het iets belangrijks deed zoals een moeilijk leesbare kleur leesbaar maken.
WebVTT-cues zijn meestal ongenummerd, en waar wel een regel boven de tijdstempel staat, is het een identifier eerder dan een teller. SubRip verwacht een volgnummer, dus de converter schrijft er een, beginnend bij één en oplopend ongeacht wat de bron bevatte.
Dat heeft een prettig neveneffect op bestanden die met de hand zijn bewerkt: een VTT met inconsistente of ontbrekende identifiers levert een SRT netjes genummerd van begin tot eind op. Het betekent ook dat elke identifier waarop een script vertrouwde, verdwenen is.
Elke tijd wordt intern in milliseconden bewaard en teruggeschreven als uren, minuten, seconden en milliseconden met een komma voor de fractie. Er wordt in geen van beide richtingen afgerond, dus een cue die om 00:04:12.500 begon in de VTT, begint om 00:04:12,500 in de SRT.
Dat is de moeite waard om precies te zijn, want de komma is de klassieke reden dat een ondertitelbestand geweigerd wordt na een handmatige bewerking. Beide formaten meten hetzelfde met dezelfde resolutie; ze verschillen alleen in interpunctie.
Een groot deel van de WebVTT-bestanden in omloop is automatisch getranscribeerd, en de omzetting verbetert ze niet. Automatische uitvoer is goed genoeg om te scannen en niet goed genoeg om te publiceren, en de woorden die fout gaan zijn onevenredig vaak de eigennamen en vaktermen die de betekenis dragen.
Twee mechanische gebreken zijn een controle waard. Machinetranscripties breken regels vaak op het punt waar de herkenner zijn buffer leegde in plaats van bij een zinsgrens, en cues lopen vaak veel te lang of te kort. Dat repareren is eenvoudig — het is tekst met een duidelijke structuur.
De meeste spelers laden een ondertitelbestand automatisch wanneer het naast de video staat met dezelfde basisnaam: film.mp4 en film.srt in dezelfde map. Eén teken verschil en er verschijnt niets, wat een groot deel van de meldingen verklaart dat een omzetting mislukte terwijl dat niet zo was.
Een taalachtervoegsel voor de extensie, zoals film.nl.srt, is de conventie wanneer meerdere talen aanwezig zijn. Televisies en mediaboxen zijn kieskeuriger dan desktopsoftware: veel lezen ondertitels alleen van dezelfde partitie als de video, en een goed aantal leest niets anders dan SubRip.
De converter weigert liever dan een lege SRT terug te geven. Levert het parsen niets op, dan wordt dat als fout behandeld, want een ondertitelbestand zonder cues downloadt en laadt prima en toont niets — een kijker zou redelijkerwijs concluderen dat de video simpelweg geen ondertitels heeft.
Twee oorzaken verklaren het meest. De eerste is een bestand dat helemaal geen WebVTT is — een hernoemd ondertitelbestand, of een foutpagina opgeslagen met een .vtt-extensie. De tweede zijn regeleindes: cues worden gescheiden door lege regels, en een bestand opgeslagen met alleen klassieke Mac-regeleindes heeft, wat dit betreft, precies één zeer lange regel.
Voor de overgrote meerderheid van bestanden is het exact. Tekst en timing zijn de hele inhoud van een platte WebVTT-track, en beide overleven tot op de milliseconde en het teken.
De uitzonderingen zijn de drie hierboven genoemde, en ze zijn het waard om samen te herhalen: positionering wordt weggegooid, stemtags worden zichtbare tekst, en cue-identifiers worden vervangen door getallen. Gebruikt een bestand geen van de drie, dan is de SRT dezelfde ondertitels in andere interpunctie.
| VTT | SRT | |
|---|---|---|
| Volledige naam | WebVTT | SubRip-ondertitels |
| Bestandsextensie | .vtt | .srt |
| Mediatype | text/vtt | application/x-subrip |
| Voor het eerst gepubliceerd | 2010 | 2000 |
| Uitgegeven door | W3C | — |
| Specificatie | WebVTT | — |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Elke browser | Geen browser |
| In plaats daarvan overwogen | ASS | ASS |
Geen enkele browser leest SRT. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.
VLC en Subtitle Edit lezen zowel VTT als SRT, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
VTT is het formaat van W3C, verschenen in 2010. Het is vastgelegd in WebVTT, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
SRT stamt uit 2000. VLC, Subtitle Edit en Aegisub 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.
VTT en SRT beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek.
Geen enkele browser leest SRT. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.