Gå till huvudinnehållet
SubtitleMatrix

Konvertera JSON till VTT

Eller klistra in undertexttext

Vad den här konverteringen ändrar

3 saker tappas eller kräver ett beslut

  • Formatering

    all formatering utom fet och kursiv (färg, kontur, skugga, marginaler)

  • Positionering

    positionering på skärmen (varje textblock återgår till standardpositionen)

  • Karaoke

    karaoketider (markering per stavelse)

Den här listan kommer från kapacitetsmatrisen för de här två formaten, inte från den specifika fil du laddade. En viss fil kan förlora mer om den använder funktioner som formatet tillåter men matrisen inte modellerar.

Den här sidan konverterar en JSON-fil till VTT. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. WebVTT skriver samma ögonblick som 00:00:04.126 med punkt i stället för komma. Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista. Ett VTT-textblock kan ha en valfri identitetsrad före tidsstämpeln och börjar annars direkt med den. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

Det som inte följer med: formateringen, placeringen och karaoken. Färg, kontur, skugga och marginaler försvinner; fet och kursiv kan följa med. Varje textblock återgår till standardpositionen. Karaoketiderna, som styr markeringen per stavelse, försvinner. Rapporten ovanför filrutan listar förlusterna innan du väljer en fil, och räknar dem per fil när filen är inläst.

En fil eller en hel säsong: kön bearbetar filerna i tur och ordning, du kan avbryta mitt i och resultaten laddas ner tillsammans som en ZIP. Hela konverteringen sker i webbläsaren – filen lämnar aldrig datorn.

Exempel

En typisk JSON-fil konverterad till VTT

Indata

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

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.

Förlorat i utdatafilen: formateringen, placeringen och karaoken. Jämför de två sidorna rad för rad.

Samma konvertering på en stökig fil

Indata

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

Resultat

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.

Så här ser skadade filer ut i verkligheten – blandade radbrytningar, lösa blanksteg och tomma fält. Jämför med det prydliga exemplet ovan för att se vad tolken förlåter.

Vanliga frågor

Hur skiljer sig tidskoderna i JSON och VTT?

JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. WebVTT skriver samma ögonblick som 00:00:04.126 med punkt i stället för komma. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

Vad förloras när en JSON-fil blir VTT?

När JSON blir VTT går formateringen, placeringen och karaoken förlorade. Färg, kontur, skugga och marginaler försvinner; fet och kursiv kan följa med. Varje textblock återgår till standardpositionen. Karaoketiderna, som styr markeringen per stavelse, försvinner. Texten, ordningen och tiderna följer med.

Klarar VTT av formatering och placering som JSON har?

JSON bevarar hela modellen: stilar, placering, karaoke och strukturerade taggar. JSON sparar positionen som x, y och en justering. JSON sparar karaoketider som strukturerade taggar. VTT har enkel formatering inuti texten (<b>, <i>, <u> och <font color>); typsnitt, storlek, kontur och marginaler deklareras inte. VTT kan styra placering med inställningar som position: och align: efter tidsstämpeln, men de ligger utanför textblocksmodellen. VTT har ingen karaoke.

Vad händer med radbrytningar och antalet textblock när JSON konverteras till VTT?

JSON till VTT: Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista. JSON behåller hårda radbrytningar som en lista av rader. Ett VTT-textblock behåller hårda radbrytningar.

Laddas min JSON-fil upp när jag konverterar den till VTT?

Nej. Både inläsningen av JSON-filen och skrivningen av VTT-filen sker i webbläsaren; ingen del av texten, tiderna eller taggarna skickas i en förfrågan. Du kan lägga in en hel säsong, avbryta mitt i och ladda ner resultaten som en ZIP.

Relaterade verktyg