JSON til SRT
Eller lim inn underteksttekst
Hva denne konverteringen endrer
3 ting slippes eller trenger en avgjørelse
- Formatering
all formatering (fet, kursiv, farge, kontur, skygge)
- Plassering
plassering på skjermen (hver tekstblokk går tilbake til standardposisjonen)
- Karaoke
karaoketiming (utheving per stavelse)
Denne listen kommer fra egenskapsmatrisen for disse to formatene, ikke fra den bestemte filen du lastet inn. En bestemt fil kan miste mer hvis den bruker egenskaper formatet tillater, men matrisen ikke modellerer.
Denne JSON-til-SRT-konverteringen tar en fil, eller tekst limt inn i boksen, og gir deg SRT-utdataen uten å sende noe videre.
Forskjellen mellom JSON og SRT er ikke kosmetisk: stiltabellen og den navngitte stilen forsvinner — skrift, størrelse, farge, omriss og skygge — mens innebygde tagger for fet og kursiv blir med som tekst; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner.
Listen over filboksen er regnet ut fra hva JSON og SRT kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
Du kan kjøre én JSON-fil eller en hel sesong til SRT i samme kjøring: filene behandles én om gangen, kjøringen kan avbrytes underveis, og alt kommer ned som én ZIP.
Konverteringen fra JSON til SRT skjer i nettleseren din, så ingenting lastes opp.
Eksempler
En typisk JSON-fil konvertert til SRT
Inndata
{
"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"
}
]
}
Resultat
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.
Dette går tapt i utdataen: formatering, plassering og karaoke.
Samme JSON-til-SRT-konvertering med vanskelig inndata
Inndata
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Resultat
1
00:00:00,000 --> 00:00:01,000
First.
2
00:00:01,000 --> 00:00:02,000
Second.
3
00:00:02,000 --> 00:00:03,000
Third.
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva JSON-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når JSON blir SRT?
Dette: stiltabellen og den navngitte stilen forsvinner — skrift, størrelse, farge, omriss og skygge — mens innebygde tagger for fet og kursiv blir med som tekst; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner. På kildesiden har JSON et JSON-skjema med tider i millisekunder og tagger per linje; på målsiden har SRT tekstblokker med start- og sluttid, millisekunder og innebygde tagger i selve teksten, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra JSON til SRT?
En tid i JSON ser slik ut: `"start": 4126` — heltall millisekunder. I SRT skrives den som `00:00:04,126` — timer, minutter, sekunder og millisekunder, med komma foran millisekundene. Begge formatene bruker samme oppløsning, så ingen avrunding skjer. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hva skjer med formateringen fra JSON i SRT?
Stiltabellen i JSON forsvinner — skrift, størrelse, marger, omriss og navngitte stiler — men de innebygde taggene for fet, kursiv og farge skrives om til SRTs egne tagger og overlever. Det er stilen som er tapt, ikke all formatering.
Hvordan ser en SRT-fil ut når den er laget fra JSON?
SRT er en nummerert tekstblokk, en tidslinje med `-->` og én eller flere tekstlinjer, med en tom linje mellom blokkene. Konverteringen fra JSON fyller den formen: hver tekstblokk blir én SRT-blokk, i samme rekkefølge, med JSON-ens tekst delt i de samme linjene.
Kan jeg konvertere SRT tilbake til JSON, og hva går tapt da?
Ja, og den veien er også tapsfri: SRT og JSON uttrykker de samme tingene, så en runde tilbake gir de samme tekstblokkene og tidsstemplene.