JSON-tekstitysmuoto
Mitä tämä muoto voi ilmaista
- Tekstin tyyli
- Fontit, väri, ääriviiva, varjo
- Sijoittelu ruudulla
- Kyllä
- Karaokeajoitus
- Kyllä
- Rivinvaihdot alaotsikon sisällä
- Kyllä
- Aikajana
- Alku- ja loppuaika jokaiselle alaotsikolle
- Ajoituksen tarkkuus
- 1 ms
- Ajoitus tallennetaan ruutunumeroina
- Ei
- Oikealta vasemmalle -teksti
- Kyllä
Esimerkit
Tyypillinen JSON-tiedosto ja mitä siitä luetaan
Tiedosto
{
"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"
}
]
}
Mitä se sisältää
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 untouchedOikeanpuoleinen sarake ei ole muunnettu tiedosto vaan se, mitä tämä sivu lukee vasemmalta puolelta ja mistä jokainen JSON-muunnos alkaa.
Hankala JSON-tiedosto ja mitä siitä yhä luetaan
Tiedosto
{
"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"
}
Mitä se sisältää
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)Näin JSON-tiedosto käyttäytyy, kun se on rikki: ylimääräisiä rivejä, outoja kenttiä ja aikoja, joita ei voi lukea. Mikään ei kaada lukua – korjaukset ja ohitukset näkyvät oikealla puolella.
Muunna SubtitleMatrix JSON toiseen muotoon
Jokainen näistä toimii kokonaan selaimessasi. Nimikkeet kertovat, mitä tuo suunta maksaa, ennen kuin avaat sen.
- Tyyli
- Sijoittelu
- Karaoke
- Ajoitus
- Tyyli
- Sijoittelu
- Karaoke
- Tarkkuus
- Tyyli
- Sijoittelu
- Karaoke
- Kuvanopeus
- Tyyli
- Sijoittelu
- Karaoke
- Tyyli
- Sijoittelu
- Karaoke
- Ajoitus
- Tyyli
- Sijoittelu
- Karaoke
- Rivinvaihdot
- Tyyli
- Sijoittelu
- Karaoke
Muuntaminen tähän muotoon
- 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
Tämän sivun JSON on avoin tekstitysmalli, joka tallentaa koko tekstityksen rakenteen: ajoitukset, rivit, tyylit ja tagit. Se on ainoa mukana oleva muoto, johon mahtuu kaikki, mitä muut formaatit osaavat kertoa. Tämä sivu on JSON-muodon kuvaus: mitä se tallentaa, mitä se ei tallenna ja mihin sen voi muuntaa. Alla oleva taulukko kertoo JSON-muodon ominaisuudet – jokainen rivi on asia, joka joko säilyy tai katoaa, kun tiedosto muunnetaan toiseen muotoon.
JSON tallentaa täyden tyylittelyn: fontit, koot, värit, ääriviivat ja marginaalit. JSON tallentaa sijoittelun ruudulle. JSON tukee karaoken tavukohtaista ajoitusta. JSON tallentaa jokaiselle alaotsikolle alku- ja loppuajan millisekunnin tarkkuudella. JSON tukee monirivisiä alaotsikoita.
Tältä sivulta löydät jokaisen suunnan, johon JSON-tiedoston voi muuntaa. Jokainen JSON-muunnos tapahtuu selaimessa: mitään ei lähetetä palvelimelle eikä tiliä tarvita. Koko JSON-kausi mahtuu samaan eräajoon, ajon voi keskeyttää ja tulokset latautuvat yhtenä ZIP-tiedostona.
Usein kysytyt kysymykset
Mikä on JSON-tiedosto ja mitä siihen mahtuu?
Tämän sivun JSON on avoin tekstitysmalli, joka tallentaa koko tekstityksen rakenteen: ajoitukset, rivit, tyylit ja tagit. Se on ainoa mukana oleva muoto, johon mahtuu kaikki, mitä muut formaatit osaavat kertoa. Tiedosto voi sisältää useita rivejä alaotsikkoa kohden.
Tallentaako JSON tyylejä ja sijoittelua?
JSON tallentaa täyden tyylittelyn: fontit, koot, värit, ääriviivat ja marginaalit. JSON tallentaa sijoittelun ruudulle. JSON tukee karaoken tavukohtaista ajoitusta. Rivinsisäinen muotoilu tallennetaan näin: merkkirajoina tallennetut tagit.
Onko jokaisella JSON-tiedoston alaotsikolla alku- ja loppuaika?
Kyllä. JSON kirjoittaa ajan muodossa {"start": 1000, "end": 3500}, eli kokonaislukuina millisekunteina, ja sekä alku että loppu ovat tiedostossa.
Mihin muotoihin JSON-tiedoston voi muuntaa ilman menetyksiä?
Ei mihinkään: jokaisessa suunnassa JSON-tiedostosta jää jotain pois, koska JSON tallentaa enemmän kuin muut formaatit. Jokainen muunnossivu kertoo oman menetyksensä ennen tiedoston valintaa.
Mitä JSON tallentaa alaotsikoiden ulkopuolella?
JSON tallentaa alaotsikoiden lisäksi dokumenttitason kentät version, title, fps ja styles. Ne eivät ole alaotsikoita vaan koko dokumenttia koskevaa tietoa: styles siirtyy vain sellaiseen muotoon, joka tuntee tyylitaulun, ja title sekä fps vain jos kohdeformaatti kirjoittaa ne.
Miten JSON eroaa lähimmästä sukulaisestaan?
JSON tallentaa kaiken, mitä SRT:ssä on, ja lisäksi tyylit, sijainnit, tagit ja dokumenttitason kentät. SRT puolestaan tallentaa vain numeron, ajan ja tekstin, joten JSON:sta SRT:hen muuntaminen pudottaa juuri ne kerrokset, joita SRT:ssä ei ole.
Miten tämä sivu lukee JSON-tiedostoa, kun tiedosto on rikki?
JSON luetaan kokonaisuutena: jos tiedosto ei ole kelvollista JSONia, sitä ei yritetä tulkita väkisin. Tuntemattomat kentät säilytetään sellaisenaan, jotta oma lisätietosi ei katoa edestakaisella matkalla.