Siirry pääsisältöön
SubtitleMatrix

Muunna JSON muotoon SBV

Tai liitä tekstityksen teksti

Mitä tämä muunnos muuttaa

3 asiaa pudotetaan tai vaativat päätöksen

  • Tyyli

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

  • 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.

Tällä sivulla JSON muuttuu SBV:ksi: JSON merkitsee alaotsikon muotoon cues-taulukon alkio, jossa on start-, end- ja lines-kentät, ja SBV odottaa muotoa lohko, jonka ensimmäisellä rivillä on alku- ja loppuaika. Aikakoodi vaihtaa muotoa: JSON kirjoittaa sen muodossa {"start": 1000, "end": 3500}, SBV puolestaan muodossa 0:00:01.000,0:00:03.500. Alaotsikoiden teksti kulkee JSONista SBV:hen sellaisenaan, koska muunnos ei koske sanoja.

Kun JSON muunnetaan SBV:ksi, menetettävää on dokumenttitason tyylit: fontit, koot, värit, ääriviivat ja varjot, sijoittelu ruudulla ja karaoken ajoitus. Kun JSON muunnetaan SBV:ksi, dokumenttitason tyylit – fontit, koot, värit, ääriviivat, varjot ja marginaalit – eivät mahdu SBV:hen. Raportti näkyy JSON → SBV -ruudun yläpuolella ennen muunnosta, ja jokainen kohta lasketaan tiedostokohtaisesti. Rivinsisäiset tagit säilyvät: JSON tallentaa ne muodossa merkkirajoina tallennetut tagit, ja SBV 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 SBV-tulokset tulevat yhtenä ZIP-tiedostona. Muunnos tapahtuu selaimessa, joten JSON-tiedostosi eivät käy palvelimella ennen SBV-versiota.

Esimerkit

JSON-tiedosto ja sen tulos SBV:ssä

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

0:00:00.000,0:00:02.000
Hello world.
Second line.

0:00:02.500,0:00:04.000
Plain line.
<i>Styled</i> line.

0:00:04.500,0:00:06.000
Roger: I am here.

Tästä JSON → SBV -tulosteesta puuttuvat dokumenttitason tyylit, sijoittelu ja karaoke. Kaikki muu vastaa rivi riviltä.

Sama JSON → SBV -muunnos hankalalla aineistolla

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

0:00:00.000,0:00:01.000
First.

0:00:01.000,0:00:02.000
Second.

0:00:02.000,0:00:03.000
Third.

JSON- ja SBV-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 SBV saa mukanaan.

Usein kysytyt kysymykset

Miten aika siirtyy JSONista SBV:hen?

JSON kirjoittaa ajan muodossa {"start": 1000, "end": 3500}: kokonaislukuina millisekunteina. SBV käyttää muotoa 0:00:01.000,0:00:03.500, eli alku- ja loppuaika peräkkäin pilkulla erotettuina, ilman nuolta. Tarkkuus on molemmilla puolilla sama, joten aika itse ei muutu – vain sen kirjoitusasu vaihtuu.

Mitkä ominaisuudet eivät mahdu SBV:hen, kun lähde on JSON?

Kun JSON muunnetaan SBV:ksi, menetettävää on dokumenttitason tyylit: fontit, koot, värit, ääriviivat ja varjot, sijoittelu ruudulla ja karaoken ajoitus. Kun JSON muunnetaan SBV:ksi, dokumenttitason tyylit – fontit, koot, värit, ääriviivat, varjot ja marginaalit – eivät mahdu SBV:hen. Kun JSON muunnetaan SBV:ksi, jokainen alaotsikko palaa SBV:ssä oletussijaintiin ruudulla. Alaotsikoiden teksti ja keskinäinen järjestys säilyvät.

Miten rivinsisäiset tagit käyttäytyvät, kun JSON muunnetaan SBV:ksi?

JSON merkitsee rivinsisäisen muotoilun muodossa merkkirajoina tallennetut tagit, ja SBV kirjoittaa sen muodossa <i>, <b> ja <font color> -tagit. JSON-tiedoston dokumenttitason tyylit – fontit, värit ja ääriviivat – eivät kuitenkaan siirry, koska SBV ei tunne tyylitauluja. SBV ei tallenna tyylitauluja lainkaan, joten vain tekstin sisäiset tagit kulkevat mukana.

Mitä rivinvaihdoille tapahtuu, kun JSON muunnetaan SBV:ksi?

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

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

JSON tallentaa karaoken tagirakenteeseen: jokainen tavu on oma merkkiraja, jolla on kind: karaoke ja kestonsa. SBV 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 SBV:stä JSONiin samalla tavalla?

Kyllä. Paluusuunta on yhtä puhdas: jokainen SBV-tiedoston tallentama asia mahtuu JSONiin sellaisenaan. Edestakainen matka JSONista SBV:hen ja takaisin ei kuitenkaan palauta mitään, mitä ensimmäinen muunnos olisi jo pudottanut.

Voinko muuntaa koko kauden JSONista SBV:hen yhdellä ajolla?

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

Aiheeseen liittyvät työkalut