Naar de hoofdinhoud
SubtitleMatrix

SMI naar SRT

Of plak ondertiteltekst

Wat deze conversie verandert

3 dingen vervallen of vragen om een beslissing

  • Opmaak

    alle opmaak (vet, cursief, kleur, contour, schaduw)

  • Positionering

    positionering op het scherm (elk blok keert terug naar de standaardpositie)

  • 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 SMI om naar SRT. Sleep een bestand naar binnen — of plak de tekst — en je krijgt de SRT-versie terug. De conversie draait volledig in je browser, dus er wordt niets geüpload en je hebt geen account nodig.

De twee formaten bewaren niet dezelfde dingen: de opmaak en plaatsing die SAMI via CSS kent, en de hele kop van het document, hebben in SRT geen plek. De lijst hierboven komt uit wat beide formaten kunnen uitdrukken, niet uit jouw bestand.

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

Voorbeelden

Een typisch SMI-bestand, omgezet naar SRT

Invoer

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Uitvoer

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:00:03,500 --> 00:00:06,000
How are you?
Fine, thanks.

Verloren in deze uitvoer: stijl, positie en formaateigen inhoud. Alles wat overblijft klopt regel voor regel.

Dezelfde omzetting op een weerbarstige invoer

Invoer

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Uitvoer

1
00:00:02,500 --> 00:00:09,000
Line one
Line two

2
00:00:09,000 --> 00:00:12,000
Tom &amp; Jerry

Zo ziet schade in echte bestanden eruit — gemengde regeleinden, losse spaties, blokken zonder tekst. Vergelijk dit met het nette voorbeeld hierboven om te zien wat de parser vergeeft.

Veelgestelde vragen

Blijven vet en cursief bij SMI naar SRT bewaard?

De nadruk blijft, de SAMI-stijl gaat. Wat bij een stuk tekst hoort — vet, cursief, onderstreping, een kleur — wordt als tag in de SRT-tekst geschreven: <i>, <b>, <u> of een font-tag met een kleur. Wat verdwijnt zijn de CSS-regels uit <STYLE>, de klasse-attributen en de uitlijning.

Wat gebeurt er met de positie op het scherm van SMI naar SRT?

SRT kan niet zeggen waar een ondertitel wordt getekend. De uitlijning en plaatsing uit de SAMI-stijl verdwijnen, en elk blok valt terug op de standaardpositie die de speler kiest — meestal onderaan het beeld en gecentreerd.

Wat gebeurt er met het <STYLE>-blok, <TITLE> en de Class=-attributen van SAMI in SRT?

Die vallen weg. SRT heeft geen kop en geen stijltabel, dus de CSS-regels uit <STYLE>, de documenttitel en de klasse per <P>-regel hebben er geen plek. Wat overblijft is per blok een volgnummer, een tijdregel en de tekst.

Hoe ziet de uitvoer eruit als SMI SRT wordt?

Als SRT: een volgnummer boven elk blok, daarna de twee tijden met een komma als decimaalteken, daarna de tekst, en een lege regel tussen de blokken. Elk SMI-blok wordt één SRT-blok, in dezelfde volgorde.

Zijn de SMI-tijden exact in het SRT-bestand?

Ja, tot op de milliseconde. SMI schrijft Start=4126 en SRT schrijft hetzelfde moment als 00:00:04,126; er wordt niets afgerond of verschoven. De eindtijd komt uit het volgende <SYNC>-blok en wordt de rechterkant van de tijdregel.

Hoe komt een SMI-blok van twee regels in SRT uit?

Als twee regels, de ene onder de andere. Het paar blijft bij elkaar: de twee SMI-regels horen in de SRT-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.

Blijven SMI-blokken in dezelfde volgorde in SRT staan?

Ja, en ze worden onderweg op starttijd gesorteerd — vroegste eerst. Stond je SMI-bestand niet in volgorde, dan zet de SRT-uitvoer het recht; dat raakt de structuur, niet de inhoud, en het is bewust gedaan.

Kan ik de SRT weer naar SMI omzetten?

Ja, en die richting kost niets extra: SRT bewaart tekst en twee tijden per blok, en meer had SMI na deze omzetting niet meer te bieden. Wat de heenweg kwijtraakte — stijl, positie en de SAMI-kop — komt niet terug, want een SRT-bestand draagt dat niet.

Behoudt de SRT-uitvoer de tekencodering van het SMI-bestand?

Nee — de uitvoer is UTF-8, met Unix-regeleinden en zonder BOM, wat het SMI-bestand ook gebruikte. Een bestand in UTF-16 of in een Windows-codering met één byte wordt bij het inlezen gedecodeerd; wat eruit komt is altijd dezelfde UTF-8-SRT.

Gerelateerde hulpmiddelen