TTML til SMI
Eller lim inn underteksttekst
Hva denne konverteringen endrer
2 ting slippes eller trenger en avgjørelse
- Formatering
all formatering unntatt fet og kursiv (farge, kontur, skygge, marger)
- 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.
Her konverteres en TTML-fil til SMI i nettleseren: du slipper inn en fil — eller limer inn teksten — og får SMI-utdataen tilbake.
Forskjellen mellom TTML og SMI er ikke kosmetisk: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; SMI har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva TTML og SMI kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
Du kan kjøre én TTML-fil eller en hel sesong til SMI i samme kjøring: filene behandles én om gangen, kjøringen kan avbrytes underveis, og alt kommer ned som én ZIP.
Konverteringen fra TTML til SMI skjer i nettleseren din, så ingenting lastes opp.
Eksempler
En typisk TTML-fil konvertert til SMI
Inndata
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
Resultat
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello <i>there</i>.
<SYNC Start=3500>
<P>
<SYNC Start=3500>
<P>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P>
</BODY>
</SAMI>
Dette går tapt i utdataen: farge og marger og metadata.
Samme TTML-til-SMI-konvertering med vanskelig inndata
Inndata
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:frameRate="25" xml:lang="en">
<body>
<div>
<p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
<p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
<p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
<p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom & Jerry.</p>
</div>
</body>
</tt>
Resultat
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1500>
<P>Loaded from an offset and a duration.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>A coarser clock spelling.
<SYNC Start=6500>
<P>
<SYNC Start=7000>
<P>Frames, at 25fps.
<SYNC Start=8480>
<P>
<SYNC Start=9000>
<P><font color="#FF0000">Half-open</font> and Tom & Jerry.
<SYNC Start=11000>
<P>
</BODY>
</SAMI>
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva TTML-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når TTML blir SMI?
Dette: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; SMI har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene. På kildesiden har TTML XML-elementer med stiler, plassering og millisekunder; på målsiden har SMI tekstblokker med start- og sluttid og grunnleggende formatering, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra TTML til SMI?
En tid i TTML ser slik ut: `begin="00:00:04.126"` og `end="…"`. I SMI skrives den som `<SYNC Start=4126>` — millisekunder. 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 TTML i SMI?
Stiltabellen forsvinner: skrift, størrelse, marger, omriss og skygge fra TTML har ingen plass i SMI, som bare har grunnleggende formatering. Fet og kursiv skrives om til SMIs innebygde tagger og overlever; farge går tapt.
Hvordan ser en SMI-fil ut når den er laget fra TTML?
SMI er SAMI-oppmerking med `<SYNC>`-blokker og `<P>`/`<br>`. Konverteringen fra TTML fyller den formen: hver tekstblokk blir én SMI-blokk, i samme rekkefølge, med TTML-ens tekst delt i de samme linjene.
Kan jeg konvertere SMI tilbake til TTML, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: TTML har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som TTML → SMI, fordi de to formatene beholder ulike ting.
Beholder SMI plasseringen som TTML beskriver?
Ja, i den formen SMI har: SMI kan plassere tekstblokker, så TTML-ens posisjon skrives om dit i stedet for å kastes.
Hva gjør SMI med en tekstblokk fra TTML som har flere linjer?
Den beholder linjene. TTML og SMI uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet med `<br>` mellom linjene i stedet for å slå sammen teksten.
Hva skjer med kommentarer og metadata i TTML når filen blir SMI?
TTML kan ha XML-prologen og stil- og layoutdefinisjonene i `<head>` utenfor tekstblokkene. SMI har `<STYLE>`-blokken og kommentarer; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.