JSON-undertekstformat
Hva dette formatet kan uttrykke
- Tekstformatering
- Skrifter, farge, kontur, skygge
- Plassering på skjermen
- Ja
- Karaoketiming
- Ja
- Linjeskift inne i en tekstblokk
- Ja
- Tidslinje
- Start- og sluttid for hver tekstblokk
- Tidsoppløsning
- 1 ms
- Tid lagret som bildenummer
- Nei
- Tekst fra høyre til venstre
- Ja
Eksempler
En typisk JSON-fil, og hva som leses ut av 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"
}
]
}
Hva den inneholder
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øyre side er ikke en konvertert fil — det er det denne siden leser ut av venstre side, og det hver konvertering av filen starter fra.
En vanskelig JSON-fil, og hva som fortsatt leses ut av 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"
}
Hva den inneholder
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)Ekte filer kommer med BOM, Windows-linjeskift, en løs linje før en tidslinje eller en tidslinje som ikke kan leses i det hele tatt. Ingenting kaster: det som ikke kan forstås, rapporteres i stedet for å forsvinne i stillhet.
Konverter SubtitleMatrix JSON til et annet format
Hver av disse kjører helt i nettleseren din. Etikettene sier hva den retningen koster, før du åpner den.
- Formatering
- Plassering
- Karaoke
- Tider
- Formatering
- Plassering
- Karaoke
- Presisjon
- Formatering
- Plassering
- Karaoke
- Bildefrekvens
- Formatering
- Plassering
- Karaoke
- Formatering
- Karaoke
- Formatering
- Plassering
- Karaoke
- Tider
- Formatering
- Plassering
- Karaoke
- Linjeskift
- Formatering
- Plassering
- Karaoke
Konvertering inn til dette formatet
- 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 av undertekstformatene denne siden håndterer, og denne siden er oppslagsverket: hva formatet kan lagre, hva det ikke kan, og én side for hvert format du kan konvertere det til.
Tabellen over er hele JSON-listen — det finnes ingen skjult funksjonsliste. Når en rad sier nei, er det nøyaktig det som går tapt ved å konvertere til JSON, og hver konverteringsside nedenfor sier det før du åpner en fil.
Hver JSON-konvertering nedenfor kjøres lokalt i nettleseren, uten opplasting og uten konto — også for materiale du ikke kan sende til en fremmed server.
Ofte stilte spørsmål
Hva er en JSON-fil?
En JSON-fil er et objekt med `version` og en `cues`-tabell, der hver tekstblokk har `id`, `start`, `end` og `lines`. Start og slutt som heltall millisekunder. Det er dette nettstedets eget utvekslingsformat, der alt en side har lest, kan lagres uten avrunding.
Lagrer JSON formatering?
JSON har full formatering: hver linje kan være et objekt med tekst og en `tags`-tabell. Det er en egenskap ved JSON som følger med når formatet konverteres videre.
Lagrer hver JSON-tekstblokk både start- og sluttid?
JSON lagrer begge: start og slutt som heltall millisekunder. Et tidspunkt skrives som `"start": 4126` — heltall millisekunder, så det er ingen tvil om hvor en tekstblokk begynner og slutter.
Hvilke formater kan jeg konvertere JSON til uten tap?
Ingen av dem: hver retning ut av JSON mister noe, og hver konverteringsside navngir sin egen liste. Velg målformat etter hvilken liste du kan leve med.
Kan jeg åpne en JSON-fil i en teksteditor?
Ja. En JSON-fil er et objekt med `version` og en `cues`-tabell, der hver tekstblokk har `id`, `start`, `end` og `lines`, så filen kan leses og rettes uten spesialverktøy. Det som er lettest å bomme på, er tidsstemplet: `"start": 4126` — heltall millisekunder.