Gå til hovedindholdet
SubtitleMatrix

SMI til TTML

Eller indsæt underteksttekst

Hvad denne konvertering ændrer

1 ting frasorteres eller kræver en beslutning

  • Formatspecifikt indhold

    indhold, som kildeformatet beholder uden for sine tekstblokke (blokke, der ikke er tekstblokke, headertekst, indstillinger pr. tekstblok, kommenterede hændelser) – målformatet har ingen plads til det

Denne liste kommer fra kapabilitetsmatricen for disse to formater, ikke fra den konkrete fil, du indlæste. En bestemt fil kan miste mere, hvis den bruger egenskaber, som formatet tillader, men matricen ikke modellerer.

Denne side konverterer en SAMI (SMI)-fil til TTML (Timed Text). SMI skriver <SYNC Start=1000>, mens TTML skriver 00:00:01.000, og tiden kan skrives uden afrunding.

Når SMI bliver TTML, følger dette ikke med: formatets særindhold. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.

En fil eller en hel sæson: køen behandler filerne i rækkefølge, du kan afbryde undervejs, og resultaterne hentes samlet som én ZIP-fil. Hele konverteringen kører i browseren – filen forlader aldrig din computer.

Eksempler

En typisk SMI-fil konverteret til TTML

Input

<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>

Resultat

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:03.000">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000">How are you?<br/>Fine, thanks.</p>  </body>
</tt>

Tidskoderne skrives om fra <SYNC Start=1000> til 00:00:01.000; ordene og rækkefølgen er den samme. Sammenlign de to filer linje for linje.

Samme konvertering på en beskidt SMI-fil

Input

<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>

Resultat

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:02.500" end="00:00:09.000">Line one<br/>Line two</p>
<p begin="00:00:09.000" end="00:00:12.000">Tom &amp; Jerry</p>  </body>
</tt>

Sådan ser beskadigede filer ud i virkeligheden – blandede linjeskift, løse mellemrum og tomme felter. Sammenlign med det pæne eksempel ovenfor for at se, hvad SMI-læseren tilgiver, før filen skrives som TTML.

Ofte stillede spørgsmål

Hvordan skrives den samme tid i SMI og TTML?

SMI skriver <SYNC Start=1000>, mens TTML skriver 00:00:01.000, og tiden kan skrives uden afrunding.

Hvad går tabt, når SMI bliver TTML?

Når SMI bliver TTML, melder kapacitetstabellen: formatets særindhold. Teksten og tidslinjen bevares. I målformatet skriver TTML begin og end som klokketid i hvert <p>-element. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.

Kan TTML rumme det, som SMI gemmer uden for tekstblokkene?

Nej. SAMI gemmer <STYLE>, <TITLE> og <P>-attributter uden for tekstblokkene. TTML gemmer prolog, <head>, style- og regiondefinitioner uden for tekstblokkene. Derfor rapporteres indholdet uden for tekstblokkene som tab, når SMI bliver TTML.

Hvordan håndteres en beskidt SMI-fil, før den bliver TTML?

Når SMI bliver TTML, læses kilden sådan: En ryddeblok med &nbsp; tælles ikke som tekstblok; en manglende sidste ryddeblok giver en genereret sluttid på 2.000 ms. Sådan skrives resultatet: Filen skrives som XML med <p begin=… end=…>.

Hvordan skrives tiderne i TTML, når SMI bliver TTML?

Når SMI bliver TTML, skrives begin og end som klokketid, for eksempel 00:00:01.000. Ved læsning accepteres også offsets som 1.5s og frame-tal som 00:00:01:12, men det, vi skriver ud, er altid klokketid. SAMI skriver tiden i millisekunder i <SYNC Start=…>.

Bliver min SMI-fil uploadet, når jeg laver TTML?

Nej. Både læsningen af SMI og skrivningen af TTML sker i browseren, så intet af teksten, tiderne eller tagsene sendes i en anmodning. Du kan lægge en hel sæson ind, afbryde undervejs og hente resultaterne som én ZIP-fil; når siden er indlæst, virker den også uden net.

Relaterede værktøjer