Gå til hovedindholdet
SubtitleMatrix

JSON til TXT

Eller indsæt underteksttekst

Hvad denne konvertering ændrer

5 ting frasorteres eller kræver en beslutning

  • Timing

    hele tidslinjen (resultatformatet registrerer slet ingen tider)

  • Formatering

    al formatering (fed, kursiv, farve, kontur, skygge)

  • Placering

    placering på skærmen (hver tekstblok vender tilbage til standardpositionen)

  • Karaoke

    karaoke-timing (fremhævning pr. stavelse)

  • Linjeskift

    linjeskift (tekstblokke på flere linjer føjes sammen til én linje)

Denne liste kommer fra kapabilitetsmatricen for disse to formater, ikke fra den konkrete fil, du indlæste. En bestemt fil kan miste mere, hvis den bruger egenskaber, som formatet tillader, men matricen ikke modellerer.

Denne side konverterer en SubtitleMatrix JSON-fil til Plain Text (TXT). JSON skriver start: 1000, men TXT har ingen tidskoder, så tiderne kan ikke følge med over i tekstfilen.

Når JSON bliver TXT, følger dette ikke med: hele tidslinjen, formateringen, placeringen, karaoke-timingen og blokgrænserne. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.

En fil eller en hel sæson: køen behandler filerne i rækkefølge, du kan afbryde undervejs, og resultaterne hentes samlet som én ZIP-fil. Hele konverteringen kører i browseren – filen forlader aldrig din computer.

Eksempler

En typisk JSON-fil konverteret til TXT

Input

{
  "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"
    }
  ]
}

Resultat

Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.

Tiderne forsvinder, fordi TXT kun gemmer teksten, og grænsen mellem tekstblokke forsvinder; linjeskiftene bevares til genlæsning.

Samme konvertering på en beskidt JSON-fil

Input

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

Resultat

First.
Second.
Third.

Sådan ser beskadigede filer ud i virkeligheden – blandede linjeskift, løse mellemrum og tomme felter. Sammenlign med det pæne eksempel ovenfor for at se, hvad JSON-læseren tilgiver, før filen skrives som TXT.

Ofte stillede spørgsmål

Hvordan skrives den samme tid i JSON og TXT?

JSON skriver start: 1000, men TXT har ingen tidskoder, så tiderne kan ikke følge med over i tekstfilen.

Hvad går tabt, når JSON bliver TXT?

Når JSON bliver TXT, melder kapacitetstabellen: hele tidslinjen, formateringen, placeringen, karaoke-timingen og blokgrænserne. Kun ordene står tilbage: hver tekstblok bliver til sine linjer uden tider, og grænsen mellem tekstblokke forsvinder. I målformatet har TXT ingen tidskoder, så tiden kan ikke skrives. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.

Kan TXT rumme det, som JSON gemmer uden for tekstblokkene?

Ja. JSON har ingen private blokke, men ukendte nøgler bevares. Der er derfor intet privat indhold at miste. TXT har ingen blokke uden for linjerne.

Hvordan håndteres en beskidt JSON-fil, før den bliver TXT?

Når JSON bliver TXT, læses kilden sådan: JSON accepterer både objektformen, arrayformen, subtitle.js-AST og tekstgenveje; output skrives med to mellemrum, LF og sorteret efter starttid. Sådan skrives resultatet: Filen skrives som rene tekstlinjer uden tidskoder.

Hvad sker der med tidslinjen, når JSON bliver TXT?

Når JSON bliver TXT, forsvinder den. TXT har ingen tidskoder og ingen sluttider, så JSON-tiderne kan ikke skrives. Hver tekstblok bliver til sine linjer, og linjeskiftene bevares, men tekstblokgrænsen forsvinder: en blok med to linjer læses tilbage som to blokke.

Bliver min JSON-fil uploadet, når jeg laver TXT?

Nej. Både læsningen af JSON og skrivningen af TXT sker i browseren, så intet af teksten, tiderne eller tagsene sendes i en anmodning. Du kan lægge en hel sæson ind, afbryde undervejs og hente resultaterne som én ZIP-fil; når siden er indlæst, virker den også uden net.

Relaterede værktøjer