SMI til TTML
Eller lim inn underteksttekst
Hva denne konverteringen endrer
1 ting slippes eller trenger en avgjørelse
- Formatspesifikt innhold
innhold som kildeformatet oppbevarer utenfor tekstblokkene (blokker utenom tekstblokkene, topptekst, innstillinger per tekstblokk, kommenterte hendelser) — målformatet har ingen plass til det
Denne listen kommer fra egenskapsmatrisen for disse to formatene, ikke fra den bestemte filen du lastet inn. En bestemt fil kan miste mer hvis den bruker egenskaper formatet tillater, men matrisen ikke modellerer.
Slipp inn en SMI-fil på denne siden, og du får den tilbake som TTML, med tidsstemplene skrevet om og teksten i behold.
Konverteringen fra SMI til TTML mister noe, og det er verd å vite hva: TTML har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva SMI og TTML kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En enkelt SMI-fil går like fint som hundre, så du kan sende hele sesongen gjennom TTML-konverteringen og laste ned alt som én ZIP.
Arbeidet med SMI til TTML skjer i nettleseren din — ingen server ser filen.
Eksempler
En typisk SMI-fil konvertert til TTML
Inndata
<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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</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>
Dette går tapt i utdataen: metadata.
Samme SMI-til-TTML-konvertering med vanskelig inndata
Inndata
<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 & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</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 & Jerry</p> </body>
</tt>
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva SMI-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når SMI blir TTML?
Dette: TTML har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene. På kildesiden har SMI tekstblokker med start- og sluttid og grunnleggende formatering; på målsiden har TTML XML-elementer med stiler, plassering og millisekunder, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra SMI til TTML?
En tid i SMI ser slik ut: `<SYNC Start=4126>` — millisekunder. I TTML skrives den som `begin="00:00:04.126"` og `end="…"`. Begge formatene bruker samme oppløsning, så ingen avrunding skjer. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hva skjer med formateringen fra SMI i TTML?
Formateringen fra SMI kommer over så langt den rekker: SMI har innebygde tagger for fet, kursiv og farge, og TTML har full formatering å skrive dem inn i. TTML får ikke mer formatering enn kilden hadde.
Hvordan ser en TTML-fil ut når den er laget fra SMI?
TTML er XML med `<tt>`, `<body>` og ett `<p>`-element per tekstblokk. Konverteringen fra SMI fyller den formen: hver tekstblokk blir én TTML-blokk, i samme rekkefølge, med SMI-ens tekst delt i de samme linjene.
Kan jeg konvertere TTML tilbake til SMI, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; SMI har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som SMI → TTML, fordi de to formatene beholder ulike ting.
Beholder TTML plasseringen som SMI beskriver?
Ja, i den formen TTML har: TTML kan plassere tekstblokker, så SMI-ens posisjon skrives om dit i stedet for å kastes.
Hva gjør TTML med en tekstblokk fra SMI som har flere linjer?
Den beholder linjene. SMI og TTML uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet med `<br/>` mellom linjene i samme `<p>` i stedet for å slå sammen teksten.