Siirry pääsisältöön
SubtitleMatrix

Muunna TTML muotoon SSA

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.

Kun TTML muunnetaan SSA:ksi, jokainen TTML-tiedoston alaotsikko kirjoitetaan uudelleen muotoon, jossa yksi alaotsikko on 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", SSA puolestaan muodossa 0:00:01.00. Sanoja ei muuteta, vaan TTML-tiedoston teksti siirretään SSA:hen sellaisenaan.

Kun TTML muunnetaan SSA:ksi, menetettävää on aikojen tarkkuus ja alaotsikoiden ulkopuolinen sisältö. Kun TTML muunnetaan SSA:ksi, kohteen ulkopuolelle jäävät prologi, head-osion tyylitaulu ja alueet sekä div-rakenne. Raportti näkyy TTML → SSA -ruudun yläpuolella ennen muunnosta, ja jokainen kohta lasketaan tiedostokohtaisesti.

Eräajossa TTML-tiedostot jonottuvat ja valmistuvat yksi kerrallaan; keskeytys toimii kesken SSA-muunnoksen ja tulokset pakataan yhdeksi ZIP-tiedostoksi. Mitään ei lähetetä palvelimelle: koko TTML-muunnos SSA:ksi tapahtuu omalla koneellasi.

Esimerkit

Tavallinen TTML-tiedosto SSA-muunnoksessa

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, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, 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ä SSA:hen menetetään aikojen tarkkuus ja muotokohtainen sisältö; vertaa kahta puolta rivi riviltä ja katso, mikä säilyi.

Sama TTML → SSA -muunnos rikkinäisellä lähdetiedostolla

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, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, 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 SSA-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 SSA saa mukanaan.

Usein kysytyt kysymykset

Miten TTML ja SSA kirjoittavat aikakoodin?

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

Mitkä ominaisuudet eivät mahdu SSA:hen, kun lähde on TTML?

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

Miten rivinsisäiset tagit käyttäytyvät, kun TTML muunnetaan SSA:ksi?

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

Mitä rivinvaihdoille tapahtuu, kun TTML muunnetaan SSA:ksi?

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

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

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

Voiko SSA-tiedoston muuntaa takaisin TTML:ksi?

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

Toimiiko TTML → SSA -eräajo, kun tiedostoja on sata?

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

Aiheeseen liittyvät työkalut