JSON til MicroDVD
Eller lim inn underteksttekst
Innstillinger
Hvilken bildefrekvens tidene telles i. På formatsidene er det dette MicroDVD trenger, fordi det lagrer tid som bildenummer. På sidene for bildefrekvens er det frekvensen filen ble tidsstyrt mot — versjonen undertekstene ble laget for — og sidens andre boks tar frekvensen til videoen du skal bruke dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 og 60 er de vanlige. Tar du feil, forskyves hele tidslinjen, og på bildefrekvenssidene forskyves den med et forhold i stedet for et fast beløp.
Hva denne konverteringen endrer
4 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)
- Bildefrekvens
dette formatet lagrer tider som bildenummer — tidene avhenger av bildefrekvensen du oppgir
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.
Slipp inn en JSON-fil på denne siden, og du får den tilbake som MicroDVD, med tidsstemplene skrevet om og teksten i behold.
Det er en reell forskjell på JSON og MicroDVD: all formatering forsvinner — fet, kursiv, farge, omriss og skygge; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner; MicroDVD lagrer tid som bildenummer, så hvert tidsstempel festes til nærmeste bilde ved bildefrekvensen du oppgir (25 fps hvis feltet står tomt).
Listen over filboksen er regnet ut fra hva JSON og MicroDVD kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En hel sesong med JSON-filer går gjennom MicroDVD-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi JSON-til-MicroDVD-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk JSON-fil konvertert til MicroDVD
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}{1}25
{0}{50}Hello world.|Second line.
{63}{100}Plain line.|Styled line.
{113}{150}Roger: I am here.
Dette går tapt i utdataen: formatering, plassering, karaoke og bildefrekvens. Bildefrekvensen avgjør avbildningen: hvert tidsstempel festes til nærmeste bilde ved verdien i sidefeltet, og 25 fps brukes hvis feltet står tomt.
Samme JSON-til-MicroDVD-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}{1}25
{0}{25}First.
{25}{50}Second.
{50}{75}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 MicroDVD?
Dette: all formatering forsvinner — fet, kursiv, farge, omriss og skygge; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner; MicroDVD lagrer tid som bildenummer, så hvert tidsstempel festes til nærmeste bilde ved bildefrekvensen du oppgir (25 fps hvis feltet står tomt). På kildesiden har JSON et JSON-skjema med tider i millisekunder og tagger per linje; på målsiden har MicroDVD bildenummer for start og slutt, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra JSON til MicroDVD?
En tid i JSON ser slik ut: `"start": 4126` — heltall millisekunder. I MicroDVD skrives den som `{103}{175}` — bildenummer, ikke klokketid. Ved bildefrekvensen du oppgir (25 fps hvis feltet står tomt) festes hvert tidsstempel til nærmeste bilde; ved 25 fps er ett bilde 40 ms. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn ett bilde.
Hvilken bildefrekvens skal jeg bruke når JSON blir MicroDVD?
MicroDVD lagrer tid som bildenummer, så konverteringen fra JSON trenger en bildefrekvens. Verdien i sidefeltet brukes; står feltet tomt, antas 25 fps. En feil verdi vises knapt i starten og driver lenger utover i filmen.
Hva skjer med formateringen fra JSON i MicroDVD?
Stiltabellen og de innebygde taggene i JSON forsvinner: MicroDVD har ingen stiltabell og skriver rå tekst, så fet, kursiv og farge blir bare vanlige tegn.
Hvordan ser en MicroDVD-fil ut når den er laget fra JSON?
MicroDVD begynner hver linje med to bildenummer i krøllparenteser, skriver linjeskift som `|` og kan ha et `{1}{1}25`-hode med bildefrekvens. Konverteringen fra JSON fyller den formen: hver tekstblokk blir én MicroDVD-blokk, i samme rekkefølge, med JSON-ens tekst delt i de samme linjene.
Kan jeg konvertere MicroDVD tilbake til JSON, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: MicroDVD lagrer tid som bildenummer, så hvert tidsstempel avhenger av bildefrekvensen du oppgir; filens eget `{1}{1}`-hode brukes hvis feltet står tomt, og 25 fps er siste utvei. Det er ikke den samme listen som JSON → MicroDVD, fordi de to formatene beholder ulike ting.
Beholder MicroDVD plasseringen som JSON beskriver?
Nei. JSON kan plassere en tekstblokk på skjermen, men MicroDVD har ingen posisjonsmodell, så hver tekstblokk faller tilbake til spillerens standardplass; posisjonen står i tap-listen.
Hva gjør MicroDVD med en tekstblokk fra JSON som har flere linjer?
Den beholder linjene. JSON og MicroDVD uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet med `|` mellom linjene i stedet for å slå sammen teksten.
Forsvinner karaoketimingen i JSON når jeg konverterer til MicroDVD?
Ja. JSON kan lagre per stavelse når en linje skal lyse opp, men MicroDVD har ingen slik instruksjon; ordene blir stående, men timingen per stavelse er borte.