JSON-undertekstformat
Hvad dette format kan udtrykke
- Tekstformatering
- Skrifter, farve, kontur, skygge
- Placering på skærmen
- Ja
- Karaoke-timing
- Ja
- Linjeskift inde i en tekstblok
- Ja
- Tidslinje
- Start- og sluttid for hver tekstblok
- Tidsopløsning
- 1 ms
- Tider gemt som billednumre
- Nej
- Højre-til-venstre-tekst
- Ja
Eksempler
En typisk JSON-fil, og hvad der læses ud af den
Fil
{
"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"
}
]
}
Hvad den indeholder
3 cues, 5 lines of text
0 ms → 2000 ms
Hello world.
Second line.
[Default; position 100,200 (center)]
2500 ms → 4000 ms
Plain line.
Styled line. [italic ×1]
4500 ms → 6000 ms
Roger: I am here.
[speaker Roger]
Outside the cues:
styles Default
other keys version, title, fps, generator — carried through untouchedHøjre side er ikke en konverteret fil – det er, hvad dette site læser ud af venstre side, og udgangspunktet for enhver konvertering af filen.
En beskidt JSON-fil, og hvad der stadig læses ud af den
Fil
{
"cues": [
{ "start": "0:00:01,5", "end": "0:00:03,0", "text": "Unpadded timecode." },
{ "start": 4000.5, "end": 5000, "lines": ["Fractional start.", { "text": "Second.", "tags": [] }] },
{ "start": 9000, "end": 8000, "lines": ["End before start."] },
{ "start": "nope", "end": 12000, "lines": ["No readable start."] },
{ "start": 13000, "lines": ["No end at all."] }
],
"generator": "subtitlematrix boundary",
"styles": {},
"title": "Fixture: boundary"
}
Hvad den indeholder
3 cues, 4 lines of text
1500 ms → 3000 ms
Unpadded timecode.
4001 ms → 5000 ms
Fractional start.
Second.
9000 ms → 9001 ms
End before start.
Outside the cues:
other keys generator, title — carried through untouched
Reported while reading — repaired or skipped, never silently:
2 × entries with no readable start and end time (they are not cues, so they were skipped)
1 × cue times that were not whole milliseconds (they were rounded to the nearest millisecond)
1 × cues whose end time was not after their start time (they were given a 1ms duration)Virkelige filer kommer med BOM, Windows-linjeskift, en løs linje før tidskoden eller en tidskode, der slet ikke kan læses. Intet kaster en fejl: det, der ikke kan forstås, rapporteres i stedet for at forsvinde.
Konverter SubtitleMatrix JSON til et andet format
Hver af disse kører helt i din browser. Etiketterne siger, hvad den retning koster, før du åbner den.
- Formatering
- Placering
- Karaoke
- Timing
- Formatering
- Placering
- Karaoke
- Præcision
- Formatering
- Placering
- Karaoke
- Billedhastighed
- Formatering
- Placering
- Karaoke
- Formatering
- Karaoke
- Formatering
- Placering
- Karaoke
- Timing
- Formatering
- Placering
- Karaoke
- Linjeskift
- Formatering
- Placering
- Karaoke
Konvertering til dette format
- SubRip (SRT) → SubtitleMatrix JSON
- WebVTT (VTT) → SubtitleMatrix JSON
- Advanced SubStation Alpha (ASS) → SubtitleMatrix JSON
- SubStation Alpha (SSA) → SubtitleMatrix JSON
- YouTube SBV → SubtitleMatrix JSON
- SAMI (SMI) → SubtitleMatrix JSON
- LRC Lyrics → SubtitleMatrix JSON
- MicroDVD → SubtitleMatrix JSON
- TTML (Timed Text) → SubtitleMatrix JSON
- Plain Text (TXT) → SubtitleMatrix JSON
- CSV Spreadsheet → SubtitleMatrix JSON
SubtitleMatrix JSON er et af de tolv undertekstformater, som dette site håndterer. Denne side er opslagsværket for JSON: hvad formatet kan gemme, hvad det ikke kan, og en side for hvert format, du kan konvertere det til.
Tabellen ovenfor er den fulde liste for JSON – der findes ingen skjult funktionsliste. Når en række siger nej, er det præcis det, der går tabt ved at konvertere til JSON, og hver konverteringsside siger det, før du åbner en fil. Dokumentet har en version, en liste under nøglen cues og valgfri styles; hver tekstblok har start, slut, linjer og eventuelt position.
Alle konverteringer fra JSON kører i browseren. Intet uploades, og der kræves ingen konto, når du konverterer JSON-filer, hvilket betyder noget for materiale under en fortrolighedsaftale, en patientjournal eller et udsendelsesstop.
Ofte stillede spørgsmål
Hvad er en JSON-fil?
SubtitleMatrix JSON er dette sites eget format og en spejling af den interne model. Dokumentet har en version, en liste under nøglen cues og valgfri styles; hver tekstblok har start og slut i hele millisekunder samt linjer med strukturerede tags.
Hvilken formatering gemmer JSON?
JSON gemmer formatering som strukturerede tags med art, start, slut og værdi. Fed, kursiv, understregning, farve og karaoke er felter, ikke tegn i teksten.
Kan JSON gemme placering og karaoke?
JSON gemmer position som x, y og align og kan rumme karaoke. Ukendte nøgler på dokument- og tekstblokniveau bevares, så et felt, vi ikke kender, ikke forsvinder.
Hvilke formater kan JSON konverteres til uden tab?
Ingen ifølge kapacitetstabellen. Hver retning fra JSON taber mindst én ting – typisk tidslinjen, formateringen eller formatets særindhold. Hver konverteringsside navngiver sit eget tab.
Hvordan håndterer læseren en beskadiget JSON-fil?
JSON accepterer både objektformen, arrayformen, subtitle.js-AST og tekstgenveje; output skrives med to mellemrum, LF og sorteret efter starttid. Det er den læsning, du får for JSON.
Hvilke JSON-former accepterer læseren?
Objektformen med version og nøglen cues, den rå arrayform, subtitle.js-AST med type og data samt tekstgenvejen, hvor en tekstblok har en text-streng i stedet for linjer. Udgangen er altid den samme kanoniske form. Det er reglerne for JSON.