MicroDVD til JSON
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
1 ting slippes eller trenger en avgjørelse
- Bildefrekvens
kilden lagrer tider som bildenummer — hvert tidsstempel 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.
Her konverteres en MicroDVD-fil til JSON i nettleseren: du slipper inn en fil — eller limer inn teksten — og får JSON-utdataen tilbake.
Det er en reell forskjell på MicroDVD og JSON: 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.
Listen over filboksen er regnet ut fra hva MicroDVD og JSON kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En hel sesong med MicroDVD-filer går gjennom JSON-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi MicroDVD-til-JSON-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk MicroDVD-fil konvertert til JSON
Inndata
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
Resultat
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"The quick brown fox jumps over the lazy dog."
]
},
{
"start": 8000,
"end": 10400,
"lines": [
"Faster than",
"the last one."
]
}
]
}
Ingenting av innholdet går tapt, men merk dette: bildefrekvens. Bildefrekvensen avgjør avbildningen: sidefeltets verdi vinner over filens `{1}{1}`-hode, og 25 fps brukes hvis begge mangler.
Samme MicroDVD-til-JSON-konvertering med vanskelig inndata
Inndata
{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.
Resultat
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"Leading zeros in the frame numbers."
]
},
{
"start": 12000,
"end": 13600,
"lines": [
"An unrecognized line above was kept in place."
]
},
{
"start": 16000,
"end": 18000,
"lines": [
"Trailing spaces are kept. "
]
}
]
}
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva MicroDVD-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når MicroDVD blir JSON?
Dette: 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. På kildesiden har MicroDVD bildenummer for start og slutt; på målsiden har JSON et JSON-skjema med tider i millisekunder og tagger per linje, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra MicroDVD til JSON?
En tid i MicroDVD ser slik ut: `{103}{175}` — bildenummer, ikke klokketid. I JSON skrives den som `"start": 4126` — heltall millisekunder. Hvert bildenummer deles på bildefrekvensen du oppgir (filens eget `{1}{1}`-hode brukes hvis feltet står tomt, ellers 25 fps), så tidsstemplene havner på bildets grid — ved 25 fps med 40 ms mellom hvert steg. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn ett bilde.
Hvilken bildefrekvens skal jeg bruke når MicroDVD blir JSON?
MicroDVD lagrer tid som bildenummer, så verdien du oppgir avgjør hvert tidsstempel JSON får. Sidefeltet vinner over `{1}{1}`-hodet, og 25 brukes hvis ingen av dem finnes. Bruk bildefrekvensen til videoen undertekstene hører til.
Hva skjer med formateringen fra MicroDVD i JSON?
MicroDVD har ingen formatering å overføre. JSON har full formatering, men den fylles ikke av noe fra kilden, så utdataen bruker standardstilen.
Hvordan ser en JSON-fil ut når den er laget fra MicroDVD?
JSON er et objekt med `version` og en `cues`-tabell, der hver tekstblokk har `id`, `start`, `end` og `lines`. Konverteringen fra MicroDVD fyller den formen: hver tekstblokk blir én JSON-blokk, i samme rekkefølge, med MicroDVD-ens tekst delt i de samme linjene.
Kan jeg konvertere JSON tilbake til MicroDVD, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: 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). Det er ikke den samme listen som MicroDVD → JSON, fordi de to formatene beholder ulike ting.