Hopp til hovedinnhold
SubtitleMatrix

VTT til JSON

FormatkonverteringWebVTT (VTT)
Eller lim inn underteksttekst

Hva denne konverteringen endrer

1 ting slippes eller trenger en avgjørelse

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

Denne VTT-til-JSON-konverteringen tar en fil, eller tekst limt inn i boksen, og gir deg JSON-utdataen uten å sende noe videre.

Det er en reell forskjell på VTT og JSON: JSON har ingen plass til innholdet VTT oppbevarer utenfor tekstblokkene.

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

En hel sesong med VTT-filer går gjennom JSON-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.

Fordi VTT-til-JSON-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.

Eksempler

En typisk VTT-fil konvertert til JSON

Inndata

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

Resultat

{
  "version": 1,
  "cues": [
    {
      "id": "intro",
      "start": 1000,
      "end": 4000,
      "lines": [
        "Hello there."
      ]
    },
    {
      "start": 4500,
      "end": 8000,
      "lines": [
        {
          "text": "Second line with italics.",
          "tags": [
            {
              "kind": "italic",
              "start": 17,
              "end": 24
            }
          ]
        }
      ]
    }
  ]
}

Dette går tapt i utdataen: metadata.

Samme VTT-til-JSON-konvertering med vanskelig inndata

Inndata

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

Resultat

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 2000,
      "lines": [
        "No header, two lines before the timecode."
      ]
    }
  ]
}

Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva VTT-parseren tilgir.

Ofte stilte spørsmål

Hva går tapt når VTT blir JSON?

Dette: JSON har ingen plass til innholdet VTT oppbevarer utenfor tekstblokkene. På kildesiden har VTT tekstblokker med start- og sluttid og grunnleggende innebygde tagger; på målsiden har JSON et JSON-skjema med tider i millisekunder og tagger per linje, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.

Hvordan skrives tidsstemplene om fra VTT til JSON?

En tid i VTT ser slik ut: `00:00:04.126` — punktum foran millisekundene. I JSON skrives den som `"start": 4126` — heltall millisekunder. 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 VTT i JSON?

Formateringen fra VTT kommer over så langt den rekker: VTT har innebygde tagger for fet, kursiv og farge, og JSON har full formatering å skrive dem inn i. JSON får ikke mer formatering enn kilden hadde.

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

JSON er et objekt med `version` og en `cues`-tabell, der hver tekstblokk har `id`, `start`, `end` og `lines`. Konverteringen fra VTT fyller den formen: hver tekstblokk blir én JSON-blokk, i samme rekkefølge, med VTT-ens tekst delt i de samme linjene.

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

Ja, og den veien har sin egen tap-liste: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner. Det er ikke den samme listen som VTT → JSON, fordi de to formatene beholder ulike ting.

Relaterte verktøy