Zum Hauptinhalt springen
SubtitleMatrix

JSON in VTT umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

3 Sachen entfallen oder brauchen eine Entscheidung

  • Formatierung

    die gesamte Formatierung außer Fett und Kursiv (Farbe, Kontur, Schatten, Ränder)

  • Positionierung

    die Positionierung auf dem Bildschirm (jeder Block kehrt an die Standardposition zurück)

  • Karaoke

    Karaoke-Zeitangaben (Hervorhebung pro Silbe)

Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.

JSON in VTT umwandeln: Datei ablegen oder Text einfügen, die WebVTT-Fassung herunterladen. Alles läuft im Browser, ohne Upload und ohne Anmeldung.

Die Formate speichern nicht dasselbe: VTT trägt Betonung im Text, aber keine Stiltabelle, keine Position und kein Karaoke. Die Liste oben stammt aus der Formatmatrix, nicht aus der Datei.

Die Warteschlange schafft eine Datei genauso wie eine ganze Staffel und liefert ein gemeinsames ZIP.

Beispiele

Eine typische JSON-Datei, nach VTT konvertiert

Eingabe

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

Ausgabe

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.

In dieser Ausgabe verloren: Stil, Position und Karaoke. Alles andere stimmt Zeile für Zeile.

Dieselbe Konvertierung mit widerspenstiger Eingabe

Eingabe

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

Ausgabe

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.

Solche Schäden haben echte Dateien – gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie mit dem sauberen Beispiel oben, um zu sehen, was der Parser verzeiht.

Häufige Fragen

Welcher Stil überlebt von JSON nach VTT?

Die Betonung im Text: <b>, <i>, <u> und <font color="…"> werden geschrieben und vom Browser ausgewertet. Nicht übernommen wird die JSON-Stiltabelle mit Schriftart, Größe, Kontur, Schatten und Rändern; die Seite, die das VTT einbindet, gestaltet per CSS.

Was passiert mit der Position von JSON nach VTT?

Die position wird nicht übernommen, weil VTT keinen Bildschirmort im Cue-Modell führt. Jede cue erscheint an der Standardposition des Players, meist unten mittig.

Was passiert mit Karaoke von JSON nach VTT?

Die Karaoke-Marken fallen weg; VTT kennt keinen Zeitpunkt innerhalb einer Zeile. Die Silben bleiben als gewöhnlicher Text erhalten.

Wie sieht die VTT-Ausgabe aus, wenn JSON zu VTT wird?

Über jeder cue kann eine Kennungszeile stehen, die kein Player anzeigt; darunter folgen Zeitcode und Text. Aus jeder JSON-cue wird eine VTT-cue, gleiche Reihenfolge, gleicher Text.

Sind die JSON-Zeiten in der VTT-Datei exakt?

Ja. JSON schreibt 4126, VTT schreibt 00:00:04.126; beide lösen in Millisekunden auf, es wird weder gerundet noch verschoben.

Bleibt die Reihenfolge der JSON-cues in VTT erhalten?

Ja. VTT-Blöcke werden nach start geordnet geschrieben, früheste zuerst; eine unsortierte JSON-Datei kommt geordnet heraus. Das betrifft die Struktur, nicht den Text.

Verwandte Werkzeuge