Hopp til hovedinnhold
SubtitleMatrix

SBV til JSON

Eller lim inn underteksttekst

Hva denne konverteringen endrer

Ingenting går tapt i denne retningen — hver egenskap i kildeformatet har et sted å ta veien i målformatet.

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 siden konverterer SBV til JSON: slipp inn en fil eller lim inn teksten, og du får JSON-versjonen tilbake med tekstblokkene fra SBV i behold.

Retningen SBV → JSON er tapsfri — SBV og JSON uttrykker de samme tingene, og filen kan sammenlignes linje for linje.

En hel sesong med SBV-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 SBV-til-JSON-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.

Eksempler

En typisk SBV-fil konvertert til JSON

Inndata

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

Resultat

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 3500,
      "lines": [
        "The quick brown fox."
      ]
    },
    {
      "start": 4000,
      "end": 6250,
      "lines": [
        "Jumps over the lazy dog."
      ]
    },
    {
      "start": 7000,
      "end": 9000,
      "lines": [
        "Two lines here.",
        "And a second one."
      ]
    }
  ]
}

Ingenting går tapt her: SBV og JSON uttrykker de samme tingene, så de to sidene kan sammenlignes linje for linje.

Samme SBV-til-JSON-konvertering med vanskelig inndata

Inndata

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

Resultat

{
  "version": 1,
  "cues": [
    {
      "start": 2000,
      "end": 4000,
      "lines": [
        "Carriage-return line endings."
      ]
    },
    {
      "start": 6000,
      "end": 8000,
      "lines": [
        "Indented timecode, no final newline."
      ]
    }
  ]
}

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

Ofte stilte spørsmål

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

Ingenting. SBV lagrer tekstblokker med start- og sluttid og innebygde tagger, og JSON lagrer et JSON-skjema med tider i millisekunder og tagger per linje — de to kan sammenlignes linje for linje, og hver tekstblokk, hvert tidsstempel og hver linje kommer over uendret.

Hvordan skrives tidsstemplene om fra SBV til JSON?

En tid i SBV ser slik ut: `0:00:01.000,0:00:03.500` — start og slutt med komma imellom. 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 SBV i JSON?

Formateringen fra SBV kommer over så langt den rekker: SBV 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 SBV?

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

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

Ja, og den veien har sin egen tap-liste: stiltabellen og den navngitte stilen forsvinner — skrift, størrelse, farge, omriss og skygge — mens innebygde tagger for fet og kursiv blir med som tekst; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner. Det er ikke den samme listen som SBV → JSON, fordi de to formatene beholder ulike ting.

Beholder JSON plasseringen som SBV beskriver?

SBV lagrer ingen plassering, så det er ingenting å overføre. JSON har sin egen posisjonsmodell, men den fylles ikke av noe fra kilden.

Relaterte verktøy