Gå till huvudinnehållet
SubtitleMatrix

Konvertera SRT till JSON

FormatkonverteringSubRip (SRT)
Eller klistra in undertexttext

Vad den här konverteringen ändrar

Inget går förlorat i den här riktningen – varje funktion i källformatet har någonstans att ta vägen i målformatet.

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 SRT-fil till JSON. SRT skriver en tidpunkt som 00:00:04,126, med komma före millisekunderna. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. Ett SRT-textblock består av ett löpnummer, en tidskodrad och en eller två textrader. Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

Kapacitetsmatrisen rapporterar ingen förlust när SRT blir JSON: allt som en SRT-fil kan uttrycka har en motsvarighet i JSON. Rapporten ovanför filrutan visar vad som tappas vid konverteringen och vad som redan tappades när filen lästes.

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 SRT-fil konverterad till JSON

Indata

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Resultat

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 3500,
      "lines": [
        "Hello there."
      ]
    },
    {
      "id": "2",
      "start": 3500,
      "end": 6000,
      "lines": [
        {
          "text": "Whispering now.",
          "tags": [
            {
              "kind": "italic",
              "start": 0,
              "end": 10
            }
          ]
        },
        "And a second line."
      ]
    },
    {
      "id": "3",
      "start": 6000,
      "end": 9250,
      "lines": [
        {
          "text": "Bold statement.",
          "tags": [
            {
              "kind": "bold",
              "start": 0,
              "end": 4
            }
          ]
        }
      ]
    }
  ]
}

Inget tappas här: jämför de två sidorna rad för rad.

Samma konvertering på en stökig fil

Indata

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

Resultat

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 3500,
      "lines": [
        {
          "text": "Bold and italic.",
          "tags": [
            {
              "kind": "bold",
              "start": 0,
              "end": 4
            },
            {
              "kind": "italic",
              "start": 9,
              "end": 15
            }
          ]
        }
      ]
    },
    {
      "id": "2",
      "start": 3500,
      "end": 6000,
      "lines": []
    },
    {
      "id": "3",
      "start": 8000,
      "end": 9000,
      "lines": [
        "Last one."
      ]
    }
  ]
}

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 SRT och JSON?

SRT skriver en tidpunkt som 00:00:04,126, med komma före millisekunderna. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

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

Inget enligt kapacitetsmatrisen: SRT har ingen deklarerad formatering, ingen placering och ingen karaoke, så det finns inget i filen som JSON behöver lämna. Tidskoderna skrivs ändå om: 00:00:04,126 blir "start": 4126.

Klarar JSON av formatering och placering som SRT har?

SRT har ingen stildel; fet och kursiv finns bara som <b>- och <i>-taggar i själva texten. SRT har ingen placering i filen. SRT har ingen karaoke. 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.

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

SRT till JSON: Ett SRT-textblock består av ett löpnummer, en tidskodrad och en eller två textrader. Ett SRT-textblock får innehålla hårda radbrytningar och behåller dem. JSON behåller hårda radbrytningar som en lista av rader.

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

Nej. Både inläsningen av SRT-filen och skrivningen av JSON-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