Hopp til hovedinnhold
SubtitleMatrix

TTML til VTT

Eller lim inn underteksttekst

Hva denne konverteringen endrer

3 ting slippes eller trenger en avgjørelse

  • Formatering

    all formatering unntatt fet og kursiv (farge, kontur, skygge, marger)

  • Plassering

    plassering på skjermen (hver tekstblokk går tilbake til standardposisjonen)

  • 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 VTT i nettleseren: du slipper inn en fil — eller limer inn teksten — og får VTT-utdataen tilbake.

Konverteringen fra TTML til VTT mister noe, og det er verd å vite hva: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; VTT har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene.

Listen over filboksen er regnet ut fra hva TTML og VTT kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.

En enkelt TTML-fil går like fint som hundre, så du kan sende hele sesongen gjennom VTT-konverteringen og laste ned alt som én ZIP.

Arbeidet med TTML til VTT skjer i nettleseren din — ingen server ser filen.

Eksempler

En typisk TTML-fil konvertert til VTT

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

WEBVTT

00:00:01.000 --> 00:00:03.500
Hello <i>there</i>.

00:00:03.500 --> 00:00:06.000
How are you?
Fine, thanks.

Dette går tapt i utdataen: farge og marger, plassering og metadata.

Samme TTML-til-VTT-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 &amp; Jerry.</p>
    </div>
  </body>
</tt>

Resultat

WEBVTT

00:00:01.500 --> 00:00:03.500
Loaded from an offset and a duration.

00:00:04.000 --> 00:00:06.500
A coarser clock spelling.

00:00:07.000 --> 00:00:08.480
Frames, at 25fps.

00:00:09.000 --> 00:00:11.000
<font color="#FF0000">Half-open</font> and Tom &amp; Jerry.

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

Dette: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; VTT har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene. På kildesiden har TTML XML-elementer med stiler, plassering og millisekunder; på målsiden har VTT tekstblokker med start- og sluttid og grunnleggende innebygde tagger, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.

Hvordan skrives tidsstemplene om fra TTML til VTT?

En tid i TTML ser slik ut: `begin="00:00:04.126"` og `end="…"`. I VTT skrives den som `00:00:04.126` — punktum foran millisekundene. 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 VTT?

Stiltabellen forsvinner: skrift, størrelse, marger, omriss og skygge fra TTML har ingen plass i VTT, som bare har grunnleggende formatering. Fet og kursiv skrives om til VTTs innebygde tagger og overlever; farge går tapt.

Hvordan ser en VTT-fil ut når den er laget fra TTML?

VTT er en `WEBVTT`-overskrift og tekstblokker skilt med tomme linjer, uten påkrevde nummer. Konverteringen fra TTML fyller den formen: hver tekstblokk blir én VTT-blokk, i samme rekkefølge, med TTML-ens tekst delt i de samme linjene.

Kan jeg konvertere VTT tilbake til TTML, og hva går tapt da?

Ja, og den veien har sin egen tap-liste: TTML har ingen plass til innholdet VTT oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som TTML → VTT, fordi de to formatene beholder ulike ting.

Beholder VTT plasseringen som TTML beskriver?

Nei. TTML kan plassere en tekstblokk på skjermen, men VTT har ingen posisjonsmodell, så hver tekstblokk faller tilbake til spillerens standardplass; posisjonen står i tap-listen.

Hva gjør VTT med en tekstblokk fra TTML som har flere linjer?

Den beholder linjene. TTML og VTT uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet ved å legge linjene under hverandre i samme blokk i stedet for å slå sammen teksten.

Hva skjer med kommentarer og metadata i TTML når filen blir VTT?

TTML kan ha XML-prologen og stil- og layoutdefinisjonene i `<head>` utenfor tekstblokkene. VTT har `NOTE`-, `STYLE`- og `REGION`-blokker samt innstillinger på tekstblokken som `align:` og `position:`; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.

Blir tidsstemplene nøyaktige i konverteringen fra TTML til VTT?

TTML og VTT har begge 1 ms oppløsning, så tidsstemplene går over uten avrunding og uten at noen tekstblokk flyttes.

Relaterte verktøy