Naar de hoofdinhoud
SubtitleMatrix

VTT naar SSA

FormaatconversieWebVTT (VTT)
Of plak ondertiteltekst

Wat deze conversie verandert

2 dingen vervallen of vragen om een beslissing

  • Nauwkeurigheid

    tijdprecisie — de klok van de uitvoer is grover, dus elke tijdstempel wordt afgerond op de dichtstbijzijnde 10 ms

  • Formaatspecifieke inhoud

    inhoud die het bronformaat buiten zijn blokken bewaart (blokken die geen ondertitel zijn, koptekst, instellingen per blok, uitgecommentarieerde gebeurtenissen) — het doelformaat heeft er geen plek voor

Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.

Deze pagina zet WebVTT om naar SSA. Sleep een bestand erin — of plak de tekst — en je krijgt de SSA-versie terug. De omzetting draait volledig in je browser, dus niets wordt geüpload en je hebt geen account nodig.

SSA bewaart tijd tot op de centiseconde, terwijl VTT milliseconden bewaart; elke tijdstempel schuift dus hooguit 5 ms op. Daarnaast heeft de documentlaag van WebVTT — de kop, de NOTE-, STYLE- en REGION-blokken en de cue-instellingen — geen plek in SSA. De lijst hierboven komt uit wat beide formaten elk kunnen uitdrukken, niet uit jouw bestand, dus het antwoord is hetzelfde voordat je iets laadt.

Eén bestand is prima, en een heel seizoen ook: de wachtrij werkt ze in volgorde af en de resultaten komen samen als één ZIP binnen.

Voorbeelden

Een typisch VTT-bestand, omgezet naar SSA

Invoer

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

Uitvoer

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.

In deze uitvoer verloren: precisie en formaateigen inhoud. Al het andere komt regel voor regel overeen.

Dezelfde omzetting op een rommelige invoer

Invoer

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

Uitvoer

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,No header, two lines before the timecode.

Zo zien echte bestanden eruit — gemengde regeleinden, losse spaties, lege velden. Vergelijk met het nette voorbeeld hierboven om te zien wat de parser vergeeft.

Veelgestelde vragen

Waarom verschuiven de tijdstempels van VTT naar SSA?

SSA bewaart tijd als 0:00:04.50 waar VTT 00:00:04.500 bewaart — een honderdste tegen een duizendste — dus elke tijdcode wordt op de dichtstbijzijnde 10 ms afgerond. Niets wordt uitgerekt of herordend en geen cue verschuift meer dan 5 ms, maar bij het uitlijnen tegen een ander bestand is dit de enige plek waar de omzetting niet meer exact is.

Wat gebeurt er met de NOTE-, STYLE- en REGION-blokken van VTT in SSA?

Die vallen weg. SSA kent geen kopregel en geen documentlaag buiten de cues, dus er is geen plek voor commentaar, een stylesheet of een regio-definitie. De cues zelf komen heel over, met tekst en tijden; alleen wat eromheen stond, verdwijnt.

Hoe ziet de SSA-uitvoer eruit als VTT wordt omgezet?

Als SSA v4.00: een sectie Script Info, een V4 Styles-tabel met een gegenereerde stijl Default, en een Events-sectie waarin elke cue een Dialogue-regel is. De eerste kolom van die regel is Marked, waar SSA zijn teller bewaart; de rest is begin, eind, stijl en tekst.

Hoe komt een VTT-blok van twee regels in SSA terecht?

Als twee regels met een regeleindecode ertussen, de manier waarop SSA een harde regeleinde schrijft. Het paar blijft bij elkaar: de twee VTT-regels horen in de SSA-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.

Blijft de volgorde van VTT-blokken bewaard in SSA?

Ja, en ze worden onderweg op begintijd gesorteerd — vroegste eerst, zoals elke SSA-speler ze leest. Stond je VTT-bestand niet in tijdsorde, dan zet de uitvoer de regels terug in de juiste; dat is een structurele wijziging, geen inhoudelijke, en ze is bewust.

Kan ik de SSA daarna weer naar VTT omzetten?

Ja. Die richting heeft zijn eigen verliesoverzicht: SSA naar VTT neemt opmaak en positionering mee voor zover VTT die kan uitdrukken, maar de documentlaag van SSA — het script als geheel — heeft in VTT geen equivalent. De lijst verschilt dus van de lijst hierboven.

Behoudt de SSA-uitvoer de tekencodering van het VTT-bestand?

Nee — de uitvoer is UTF-8, met Unix-regeleinden en zonder byte-order mark, wat het VTT-bestand ook gebruikte. Een bestand in UTF-16 of een Windows-eenbytecodering wordt bij het inlezen gedecodeerd; wat eruit komt is altijd dezelfde UTF-8-SSA.

Gerelateerde hulpmiddelen