MicroDVD naar JSON
Of plak ondertiteltekst
Opties
In welke beeldsnelheid de tijden worden geteld. Op de formaatpagina’s is dit wat MicroDVD nodig heeft, want het slaat tijden op als framenummers. Op de beeldsnelheidspagina’s is het de snelheid waartegen het bestand getimed is — de versie waarvoor de ondertitels gemaakt zijn — en het tweede vak op de pagina neemt de snelheid van de video die je gaat gebruiken. 23,976, 24, 25, 29,97, 30, 50, 59,94 en 60 zijn de gebruikelijke. Een verkeerde waarde verschuift de hele tijdlijn, en op de beeldsnelheidspagina’s verschuift ze die met een verhouding in plaats van met een vast bedrag.
Wat deze conversie verandert
1 ding vervalt of vraagt om een beslissing
- Beeldsnelheid
de bron slaat tijden op als framenummers — elke tijdstempel hangt af van de beeldsnelheid die je opgeeft
Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.
Deze pagina zet MicroDVD om naar JSON. De framenummers worden milliseconden in een gestructureerd bestand: een versienummer, de gebruikte beeldsnelheid en een lijst cues met een start, een eind en de tekstregels. Daarmee lees je de ondertitels in vrijwel elke programmeertaal in.
De beeldsnelheid is alleen nodig om de frames om te rekenen. Het veld hier gaat voor op de declaratie in het bestand; is die er niet, dan geldt 25 fps en wordt dat gemeld. Zodra de tijden in milliseconden staan, hangt de tijdlijn niet meer van de snelheid af — dat is precies wat er in dit formaat verdwijnt.
Een blok van twee regels blijft één cue met twee waarden in de lines-array. De omzetting draait volledig in je browser, zonder upload; meerdere bestanden gaan samen in één ZIP.
Voorbeelden
Een gewoon MicroDVD-bestand, omgezet naar JSON
Invoer
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
Uitvoer
{
"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."
]
}
]
}
In deze uitvoer gaat de beeldsnelheid als tijdlijneigenschap verloren: de frames zijn milliseconden geworden. De tekst en de groepering per cue blijven gelijk.
Dezelfde omzetting op een weerbarstige invoer
Invoer
{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.
Uitvoer
{
"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. "
]
}
]
}
Gemengde regeleinden, losse spaties en een onleesbare declaratie zijn normaal in echte bestanden. Vergelijk dit met het nette voorbeeld hierboven.
Veelgestelde vragen
Welke beeldsnelheid gebruikt MicroDVD naar JSON voor de omrekening?
Het veld op deze pagina, en pas als dat leeg is de waarde die het bestand op zijn eerste regel noemt. Noemt het bestand niets, dan geldt 25 fps en staat dat in het verliesoverzicht. Controleer de waarde liever zelf: een bestand dat 25 declareert, hoort niet per se bij een video van 25 fps.
Hoe ziet de JSON-uitvoer eruit als MicroDVD daar naartoe gaat?
Als een object met version en fps, en daarin een cues-array. Elke cue heeft start en end in milliseconden en een lines-array met de tekstregels; een id-veld heeft een cue niet.
Hoe komt een MicroDVD-blok van twee regels in JSON terecht?
Als twee items in de lines-array van dezelfde cue. De twee regels blijven daarmee één ondertitelblok en worden niet over twee cues verdeeld.
Blijft de volgorde van MicroDVD-blokken in JSON gelijk?
Ja. De cues komen op volgorde van hun startmoment te staan, het vroegste eerst; een invoer die zelf niet op volgorde stond, wordt hier dus herschikt. Dat verandert de opbouw van het bestand en niet de woorden erin.
Kan ik JSON weer naar MicroDVD omzetten?
Ja, met een eigen lijst: JSON naar MicroDVD verliest opmaak, positionering, karaoke en beeldsnelheid. Die lijst wijkt af van de lijst hierboven omdat de twee formaten verschillende dingen vasthouden.
Blijft de tekencodering van het MicroDVD-bestand in JSON behouden?
Nee. Wat eruit komt is UTF-8 met regeleinden zoals Unix ze schrijft en zonder byteordemarkering; een invoer in UTF-16 of in een Windows-codering wordt alleen bij het inlezen omgezet. De JSON zelf is daarna altijd gelijk.