Siirry pääsisältöön
SubtitleMatrix

Muunna TTML muotoon ASS

MuunnoksetTTML / DFXP
Tai liitä tekstityksen teksti

Mitä tämä muunnos muuttaa

2 asiaa pudotetaan tai vaativat päätöksen

  • Tarkkuus

    ajoituksen tarkkuus — tuotoksen kello on karkeampi, joten jokainen aikaleima pyöristetään lähimpään 10 ms:ään

  • Muotokohtainen sisältö

    sisältö, jonka lähdemuoto pitää alaotsikoidensa ulkopuolella (ei-alaotsikkolohkot, otsikkoteksti, alaotsikkokohtaiset asetukset, kommentoidut tapahtumat) — kohdemuodossa ei ole sille paikkaa

Tämä luettelo tulee näiden kahden muodon kyvykkyysmatriisista, ei lataamastasi tiedostosta. Tietty tiedosto voi menettää enemmän, jos se käyttää ominaisuuksia, jotka muoto sallii mutta matriisi ei mallinna.

Tällä sivulla TTML muuttuu ASS:ksi: TTML merkitsee alaotsikon muotoon p-elementti, jonka begin- ja end-määritteet kantavat ajan, ja ASS odottaa muotoa yksi Dialogue-rivi, jossa on alku- ja loppuaika, tyyliviittaus ja teksti. Aikakoodi vaihtaa muotoa: TTML kirjoittaa sen muodossa begin="00:00:01.000" end="00:00:03.500", ASS puolestaan muodossa 0:00:01.00. Alaotsikoiden teksti kulkee TTML:stä ASS:hen sellaisenaan, koska muunnos ei koske sanoja.

Tässä suunnassa TTML-tiedostosta putoaa aikojen tarkkuus ja alaotsikoiden ulkopuolinen sisältö, kun se muunnetaan ASS:ksi. Kun TTML muunnetaan ASS:ksi, jokainen aikaleima pyöristetään lähimpään 10 ms:iin. Luettelo on näkyvissä ennen kuin valitset TTML-tiedoston, ja se tarkentuu ASS-muunnoksen lukemisen jälkeen.

Yksi tiedosto tai sata: TTML-jono käsittelee ne peräkkäin, keskeytät milloin tahansa ja lataat kaikki ASS-tulokset kerralla. ASS-tiedostot syntyvät selaimessa eikä TTML-tiedoston sisältö poistu koneeltasi.

Esimerkit

Tyypillinen TTML-tiedosto muunnettuna ASS:ksi

Syöte

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

Tuotos

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello {\i1}there{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

Tulosteessa TTML:stä ASS:hen menetetään aikojen tarkkuus ja muotokohtainen sisältö; vertaa kahta puolta rivi riviltä ja katso, mikä säilyi.

Hankala TTML-tiedosto ja ASS-muunnos

Syöte

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

Tuotos

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.50,0:00:03.50,Default,,0,0,0,,Loaded from an offset and a duration.
Dialogue: 0,0:00:04.00,0:00:06.50,Default,,0,0,0,,A coarser clock spelling.
Dialogue: 0,0:00:07.00,0:00:08.48,Default,,0,0,0,,Frames, at 25fps.
Dialogue: 0,0:00:09.00,0:00:11.00,Default,,0,0,0,,{\c&H000000FF&}Half-open{\c} and Tom &amp; Jerry.

TTML- ja ASS-tiedostot ovat usein sekaisin: ylimääräisiä rivejä, tyhjiä kenttiä ja aikoja, joita ei voi lukea. TTML-jäsennin ei kaadu vaan korjaa minkä voi ja kertoo loput raportissa, jonka ASS saa mukanaan.

Usein kysytyt kysymykset

Miten TTML ja ASS kirjoittavat aikakoodin?

TTML kirjoittaa ajan muodossa begin="00:00:01.000" end="00:00:03.500": XML-määritteinä millisekunnin tarkkuudella. ASS käyttää muotoa 0:00:01.00, eli tunnit, minuutit, sekunnit ja sadasosat. Koska ASS tuntee ajan vain 10 millisekunnin tarkkuudella, jokainen aikaleima pyöristetään lähimpään sadasosaan ja voi siirtyä enintään 5 ms.

Mitä TTML:stä menetetään, kun siitä tehdään ASS?

Kun TTML muunnetaan ASS:ksi, menetettävää on aikojen tarkkuus ja alaotsikoiden ulkopuolinen sisältö. Kun TTML muunnetaan ASS:ksi, kohteen ulkopuolelle jäävät prologi, head-osion tyylitaulu ja alueet sekä div-rakenne. Kun TTML muunnetaan ASS:ksi, jokainen aikaleima pyöristetään lähimpään 10 ms:iin. Alaotsikoiden teksti ja keskinäinen järjestys säilyvät.

Entä lihavointi, kursivointi ja väri – säilyvätkö ne TTML:stä ASS:hen?

TTML merkitsee rivinsisäisen muotoilun muodossa <span>-elementit ja <br/>, ja ASS kirjoittaa sen muodossa \i1, \b1, \c&H…& ja \anN.

Pysyvätkö TTML-tiedoston rivit erillään ASS:ssa?

Monirivisen alaotsikon rivit erotetaan TTML:ssä <br/>-elementillä, ja ASS merkitsee ne \N-merkinnällä.

Mitä TTML:n prologille ja head-osion tyylitaululle tapahtuu ASS:ssa?

TTML:n runko koostuu prologista, head-osion tyylitaulusta ja alueista sekä div-rakenteesta. ASS ei tunne niitä, joten ne jäävät pois; p-elementtien teksti ja begin/end-ajat säilyvät.

Toimiiko paluumuunnos ASS:sta TTML:hen samalla tavalla?

Kyllä, mutta paluusuunnassa menetettävää on: karaoken ajoitus ja alaotsikoiden ulkopuolinen sisältö. Kun ASS muunnetaan TTML:ksi, tavukohtainen korostus ei siirry, koska TTML ei tunne karaokea. Edestakainen matka TTML:stä ASS:hen ja takaisin ei palauta sitä, mitä ensimmäinen muunnos pudotti.

Lähetetäänkö TTML-tiedostoni palvelimelle, kun teen ASS-muunnosta?

Ei. Jono käsittelee TTML-tiedostot yksi kerrallaan, ajon voi keskeyttää milloin tahansa ja tulokset tulevat yhtenä ZIP-tiedostona. Jokainen ASS-tiedosto kirjoitetaan selaimessa, joten mitään ei lähetetä palvelimelle; yksittäinen tekstitystiedosto saa olla enintään 64 Mt.

Aiheeseen liittyvät työkalut