Naar de hoofdinhoud
SubtitleMatrix

SMI naar CSV

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 CSV. Sleep een bestand naar binnen — of plak de tekst — en je krijgt de CSV-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 CSV 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 CSV

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

start,end,text
00:00:01.000,00:00:03.000,Hello there.
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

start,end,text
00:00:02.500,00:00:09.000,"Line one
Line two"
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 CSV bewaard?

De nadruk blijft, de stijl van de SAMI-kop gaat. Wat bij een stuk tekst hoort — vet, cursief, onderstreping, een kleur — wordt als tag in de CSV-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 plaatsing.

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

CSV kan niet zeggen waar een ondertitel wordt getekend. De uitlijning en plaatsing die SAMI via zijn CSS-regels bepaalde, 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 CSV?

Die vallen weg. CSV heeft geen kop, geen stijltabel en geen attributen: alleen een start, een eind en een tekst per rij. De CSS-regels uit <STYLE>, de documenttitel en de klasse per <P>-regel hebben geen kolom om in te staan.

Hoe ziet de uitvoer eruit als SMI CSV wordt?

Als CSV: een kopregel met start,end,text en daarna één rij per blok. Elk SMI-blok wordt één CSV-blok, in dezelfde volgorde, met dezelfde tekst. Velden met een komma, een aanhalingsteken of een regeleinde worden tussen aanhalingstekens gezet.

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

Ja, tot op de milliseconde. SMI schrijft Start=4126 en CSV schrijft hetzelfde moment als 00:00:04.126; er wordt niets afgerond of verschoven. De eindtijd komt uit het volgende <SYNC>-blok, en die wordt in CSV als gewone kolomwaarde geschreven.

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

Als twee regels binnen de ene tekstcel, tussen aanhalingstekens zoals CSV dat eist. Het paar blijft bij elkaar: de twee SMI-regels horen in de CSV-uitvoer nog steeds bij één ondertitel.

Blijven SMI-blokken in dezelfde volgorde in CSV staan?

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

Kan ik de CSV weer naar SMI omzetten?

Ja, en in die richting valt er niets meer te verliezen: een CSV met start, eind en tekst bevat minder dan SMI kan uitdrukken, dus elk blok komt ongewijzigd terug. Wat de heenweg heeft weggegooid — de CSS, de titel, de klassen — komt niet terug, want dat zat niet in de CSV.

Behoudt de CSV-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-CSV.

Gerelateerde hulpmiddelen