JSON naar MicroDVD
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
4 dingen vervallen of vragen om een beslissing
- Opmaak
alle opmaak (vet, cursief, kleur, contour, schaduw)
- Positionering
positionering op het scherm (elk blok keert terug naar de standaardpositie)
- Karaoke
karaoke-timing (markering per lettergreep)
- Beeldsnelheid
dit formaat slaat tijden op als framenummers — de tijden hangen 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 JSON om naar MicroDVD. Je sleept een bestand naar het vak of plakt de tekst erin, en je krijgt de MicroDVD-versie terug. De conversie draait volledig in je browser: er wordt niets geüpload en je hebt geen account nodig.
MicroDVD bewaart een ondertitel als een paar framenummers in plaats van als kloktijd, dus de beeldsnelheid bepaalt hoe de JSON-tijden eruit komen. Stijl, positie en karaoke hebben in dit formaat geen plek. De lijst hierboven komt uit wat beide formaten elk kunnen uitdrukken, niet uit jouw bestand.
Eén bestand is prima, een heel seizoen ook: de wachtrij werkt ze in volgorde af en levert één ZIP op.
Voorbeelden
Een typisch JSON-bestand, omgezet naar MicroDVD
Invoer
{
"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"
}
]
}
Uitvoer
{1}{1}25
{0}{50}Hello world.|Second line.
{63}{100}Plain line.|Styled line.
{113}{150}Roger: I am here.
In deze uitvoer gaan stijl, positie, karaoke en de beeldsnelheid verloren. Al het andere komt regel voor regel overeen.
Dezelfde conversie op een rommelige invoer
Invoer
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Uitvoer
{1}{1}25
{0}{25}First.
{25}{50}Second.
{50}{75}Third.
Zo zien echte bestanden er vaak uit: gemengde regeleinden, losse spaties, lege velden. Vergelijk het met het nette voorbeeld hierboven om te zien wat de parser vergeeft.
Veelgestelde vragen
Wat gebeurt er met vet, cursief en kleur van JSON naar MicroDVD?
MicroDVD kent geen enkele vorm van stijl. De tags van een regel en de items in het styles-object van het document hebben dus geen landingsplek; elke regel wordt als platte tekst geschreven. De woorden zelf blijven ongewijzigd.
Wat gebeurt er met de positie op het scherm van JSON naar MicroDVD?
MicroDVD kan niet vastleggen waar een ondertitel wordt getekend. De positie die bij elk blok hoort, valt weg, en elk blok komt terug op de standaardpositie van de speler: bij de meeste spelers onderaan en gecentreerd.
Wat gebeurt er met karaoketiming van JSON naar MicroDVD?
De timing verdwijnt, de woorden blijven. Karaoke zit in de spans die een JSON-blok meedraagt en die het oplichten van elke lettergreep markeren; MicroDVD kan geen moment binnen een regel opslaan, dus de markeringen gaan eraf en de lettergrepen komen als gewone tekst binnen.
Welke beeldsnelheid stel ik in voor de conversie van JSON naar MicroDVD?
MicroDVD bewaart een ondertitel als twee framenummers tussen accolades — {103}{175} — dus de beeldsnelheid zet de JSON-tijden om naar wat het bestand nodig heeft: bij 25 fps is vier seconden frame 100. Kies de snelheid van de video waar deze ondertitels bij horen; een verkeerde waarde valt aan het begin nauwelijks op en loopt steeds verder uit de pas naarmate de video langer duurt.
Hoe ziet de uitvoer eruit als JSON MicroDVD wordt?
Als MicroDVD: geen bloknummers, maar elk blok opent met een paar framenummers tussen accolades. Elk JSON-blok wordt één MicroDVD-blok, in dezelfde volgorde en met dezelfde tekst.
Hoe komt een JSON-blok van twee regels in MicroDVD terecht?
Als één regel met een verticale streep tussen de helften, want zo schrijft MicroDVD een regelbreuk. Het verband blijft: de twee JSON-regels horen in de MicroDVD-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.
Blijft de volgorde van JSON-blokken in de MicroDVD-uitvoer behouden?
Ja, en ze worden onderweg op starttijd gesorteerd: vroegste eerst. Stond jouw JSON-bestand niet in volgorde, dan zet de MicroDVD-uitvoer de blokken weer netjes achter elkaar. Dat is een verandering in de bestandsstructuur, niet in de inhoud, en ze is bewust.
Kan ik de MicroDVD terug naar JSON omzetten?
Ja, en die richting heeft een eigen lijst: MicroDVD naar JSON verliest de beeldsnelheid. Die lijst verschilt van de lijst hierboven, omdat beide formaten andere dingen bewaren.
Blijft de tekencodering van het JSON-bestand behouden in de MicroDVD-uitvoer?
Nee. De uitvoer is UTF-8 met Unix-regeleinden en zonder BOM, wat het JSON-bestand ook gebruikte. Een bestand in UTF-16 of in een Windows-codering met één byte wordt bij het inlezen gedecodeerd (het resultaatpaneel zegt het als dat gebeurt); wat eruit komt is altijd dezelfde UTF-8-MicroDVD.