Siirry pääsisältöön
SubtitleMatrix

Muunna JSON muotoon VTT

Tai liitä tekstityksen teksti

Mitä tämä muunnos muuttaa

3 asiaa pudotetaan tai vaativat päätöksen

  • Tyyli

    kaikki tyylit paitsi lihavointi ja kursiivi (väri, ääriviiva, varjo, marginaalit)

  • Sijoittelu

    sijoittelu ruudulla (jokainen alaotsikko palaa oletussijaintiin)

  • Karaoke

    karaokeajoitus (tavukohtainen korostus)

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.

Sivulla JSON muuttuu VTT:ksi. Kun JSON muunnetaan VTT:ksi, lähtöformaatti tallentaa yhden alaotsikon muotoon cues-taulukon alkio, jossa on start-, end- ja lines-kentät, ja aika kirjoitetaan muodossa {"start": 1000, "end": 3500}. Kohdeformaatti VTT tallentaa saman asian muotoon cue-lohko, jonka aikakoodirivin perässä on teksti, ja aika kirjoitetaan muodossa 00:00:01.000, kun lähde on JSON. Molemmilla puolilla ovat samat sanat, mutta JSON ja VTT merkitsevät ne eri tavalla.

Tässä suunnassa JSON-tiedostosta putoaa väri, ääriviiva, varjo ja marginaalit, sijoittelu ruudulla ja karaoken ajoitus, kun se muunnetaan VTT:ksi. Kun JSON muunnetaan VTT:ksi, väri, ääriviiva, varjo ja marginaalit jäävät pois, mutta lihavointi ja kursivointi säilyvät. Luettelo on näkyvissä ennen kuin valitset JSON-tiedoston, ja se tarkentuu VTT-muunnoksen lukemisen jälkeen. Rivinsisäiset tagit säilyvät: JSON tallentaa ne muodossa merkkirajoina tallennetut tagit, ja VTT kirjoittaa ne muodossa <i>, <b> ja <font color> -tagit.

Koko JSON-kausi mahtuu samaan ajoon: tiedostot käsitellään yksi kerrallaan, ajon voi keskeyttää keskeltä ja kaikki VTT-tulokset tulevat yhtenä ZIP-tiedostona. Muunnos tapahtuu selaimessa, joten JSON-tiedostosi eivät käy palvelimella ennen VTT-versiota.

Esimerkit

Tavallinen JSON-tiedosto VTT-muunnoksessa

Syöte

{
  "version": 1,
  "title": "Fixture: typical",
  "fps": 25,
  "styles": {
    "Default": {
      "name": "Default",
      "fontFamily": "Arial",
      "fontSize": 20,
      "primaryColor": "#FFFFFF",
      "bold": false,
      "italic": false
    }
  },
  "generator": "subtitlematrix fixtures",
  "cues": [
    {
      "id": "1",
      "start": 0,
      "end": 2000,
      "lines": [
        "Hello world.",
        "Second line."
      ],
      "style": "Default",
      "position": {
        "x": 100,
        "y": 200,
        "align": "center"
      }
    },
    {
      "id": "2",
      "start": 2500,
      "end": 4000,
      "lines": [
        "Plain line.",
        {
          "text": "Styled line.",
          "tags": [
            {
              "kind": "italic",
              "start": 0,
              "end": 6
            }
          ]
        }
      ]
    },
    {
      "id": "3",
      "start": 4500,
      "end": 6000,
      "lines": [
        "Roger: I am here."
      ],
      "speaker": "Roger"
    }
  ]
}

Tuotos

WEBVTT

1
00:00:00.000 --> 00:00:02.000
Hello world.
Second line.

2
00:00:02.500 --> 00:00:04.000
Plain line.
<i>Styled</i> line.

3
00:00:04.500 --> 00:00:06.000
Roger: I am here.

Tulosteessa JSONista VTT:hen menetetään väri ja marginaalit, sijoittelu ja karaoke; vertaa kahta puolta rivi riviltä ja katso, mikä säilyi.

Sama JSON → VTT -muunnos rikkinäisellä lähdetiedostolla

Syöte

[
    { "start": 0, "end": 1000, "lines": ["First."] },
    { "start": 1000, "end": 2000, "text": "Second." },
    "not an object",
    { "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]

Tuotos

WEBVTT

00:00:00.000 --> 00:00:01.000
First.

00:00:01.000 --> 00:00:02.000
Second.

00:00:02.000 --> 00:00:03.000
Third.

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

Usein kysytyt kysymykset

Miten JSON ja VTT kirjoittavat aikakoodin?

JSON kirjoittaa ajan muodossa {"start": 1000, "end": 3500}: kokonaislukuina millisekunteina. VTT käyttää muotoa 00:00:01.000, eli tunnit, minuutit, sekunnit ja millisekunnit pisteellä erotettuina. Tarkkuus on molemmilla puolilla sama, joten aika itse ei muutu – vain sen kirjoitusasu vaihtuu.

Mitä JSONista menetetään, kun siitä tehdään VTT?

Kun JSON muunnetaan VTT:ksi, menetettävää on väri, ääriviiva, varjo ja marginaalit, sijoittelu ruudulla ja karaoken ajoitus. Kun JSON muunnetaan VTT:ksi, väri, ääriviiva, varjo ja marginaalit jäävät pois, mutta lihavointi ja kursivointi säilyvät. Kun JSON muunnetaan VTT:ksi, jokainen alaotsikko palaa VTT:ssä oletussijaintiin ruudulla. Alaotsikoiden teksti ja keskinäinen järjestys säilyvät.

Entä lihavointi, kursivointi ja väri – säilyvätkö ne JSONista VTT:hen?

JSON merkitsee rivinsisäisen muotoilun muodossa merkkirajoina tallennetut tagit, ja VTT kirjoittaa sen muodossa <i>, <b> ja <font color> -tagit. JSON-tiedoston dokumenttitason tyylit – fontit, värit ja ääriviivat – eivät kuitenkaan siirry, koska VTT ei tunne tyylitauluja.

Pysyvätkö JSON-tiedoston rivit erillään VTT:ssä?

Monirivisen alaotsikon rivit erotetaan JSONissa lines-taulukon erillisinä alkioina, ja VTT merkitsee ne tavallisella rivinvaihdolla.

Mitä JSON-tiedoston karaoken ajoitukselle tapahtuu VTT:ssä?

JSON tallentaa karaoken tagirakenteeseen: jokainen tavu on oma merkkiraja, jolla on kind: karaoke ja kestonsa. VTT ei tunne karaokea, joten tavut säilyvät tekstinä ja ne merkitään <c>-tageilla, mutta niiden kestot katoavat ja koko alaotsikko näytetään kerralla.

Toimiiko paluumuunnos VTT:stä JSONiin samalla tavalla?

Kyllä, mutta paluusuunnassa menetettävää on: alaotsikoiden ulkopuolinen sisältö. Kun VTT muunnetaan JSONiksi, kohteen ulkopuolelle jäävät NOTE-, STYLE- ja REGION-lohkot sekä aikakoodin jälkeiset asetukset (align, position). Edestakainen matka JSONista VTT:hen ja takaisin ei palauta sitä, mitä ensimmäinen muunnos pudotti.

Lähetetäänkö JSON-tiedostoni palvelimelle, kun teen VTT-muunnosta?

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

Aiheeseen liittyvät työkalut