JSON-undertextformat
Vad det här formatet kan uttrycka
- Textformatering
- Typsnitt, färg, kontur, skugga
- Positionering på skärmen
- Ja
- Karaoketider
- Ja
- Radbrytningar inuti ett textblock
- Ja
- Tidslinje
- Start- och sluttid för varje textblock
- Tidsupplösning
- 1 ms
- Tider lagrade som bildnummer
- Nej
- Höger-till-vänster-text
- Ja
Exempel
En typisk JSON-fil och vad som läses ut ur 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"
}
]
}
Vad den innehåller
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 untouchedDen högra sidan är inte en konverterad fil – det är vad den här sidan läser ut ur den vänstra, och vad varje konvertering av filen utgår från.
En stökig JSON-fil och vad som fortfarande läses ut
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"
}
Vad den innehåller
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)Riktiga filer kommer med BOM, Windows-radbrytningar, en lös rad före en tidskod eller en tidskod som inte går att läsa. Inget kastar ett fel: det som inte förstås rapporteras i stället för att tappas tyst.
Konvertera SubtitleMatrix JSON till ett annat format
Var och en av dessa körs helt i din webbläsare. Etiketterna säger vad den riktningen kostar innan du öppnar den.
- Formatering
- Positionering
- Karaoke
- Tider
- Formatering
- Positionering
- Karaoke
- Precision
- Formatering
- Positionering
- Karaoke
- Bildfrekvens
- Formatering
- Positionering
- Karaoke
- Formatering
- Positionering
- Karaoke
- Tider
- Formatering
- Positionering
- Karaoke
- Radbrytningar
- Formatering
- Positionering
- Karaoke
Konvertera in i det här 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
Här är referenssidan för SubtitleMatrix JSON: vad formatet kan lagra, vad det inte kan lagra och en sida för varje format du kan konvertera det till. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista.
Tabellen ovan är hela listan – det finns ingen dold funktionslista. När en rad säger nej är det precis vad som går förlorat när du konverterar till JSON; åt andra hållet namnger varje konverteringssida nedan sin egen förlustlista. Ingen riktning är förlustfri: varje målformat saknar något som det här formatet kan uttrycka.
Alla konverteringar körs i webbläsaren. Inget laddas upp och inget konto behövs, vilket spelar roll för material under NDA, patientjournaler eller ett sändningsembargo.
Vanliga frågor
Vad är en JSON-fil?
JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista.
Vilka stilar kan en JSON-fil lagra?
JSON bevarar hela modellen: stilar, placering, karaoke och strukturerade taggar. JSON sparar karaoketider som strukturerade taggar.
Sparar JSON både start- och sluttid?
Ja. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. Tidsangivelsen har 1 ms upplösning och är exakt inom den upplösningen.
Vilka format kan jag konvertera JSON till utan förlust?
För JSON är ingen riktning förlustfri: varje målformat saknar något som det här formatet kan uttrycka, och varje konverteringssida namnger sin egen lista.
Vad finns utanför textblocken i en JSON-fil?
JSON har ingen egen privat del; det som finns utanför textblocken är det källformatet hade. Det som inte får plats i målformatet rapporteras som formatdata i stället för att tappas tyst.