TXT naar JSON
Of plak ondertiteltekst
Opties
Wordt gebruikt wanneer de bron geen eindtijden heeft (platte tekst, LRC). De tijdlijn in de uitvoer wordt hier gegenereerd in plaats van omgerekend, dus dit getal is wat je krijgt.
Wat deze conversie verandert
1 ding vervalt of vraagt om een beslissing
- Timing
de tijdlijn zelf — de bron legt geen tijden vast, dus die van de uitvoer wordt gegenereerd in plaats van omgerekend
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 TXT om naar JSON. Je sleept een bestand naar het vak of plakt de tekst erin, en je krijgt de JSON-versie terug. De conversie draait volledig in je browser: er wordt niets geüpload en je hebt geen account nodig.
JSON krijgt een array met blokobjecten, elk met een id, een start en een end. Die tijden worden hier gegenereerd, want een tekstbestand bevat ze niet: de eerste regel begint op nul en elke volgende op het einde van de vorige. Het duurveld bepaalt de lengte van elk blok.
Lege regels zijn alineagrenzen en worden geen lege blokken. Eén bestand kan, een heel seizoen ook: de wachtrij werkt ze in volgorde af en levert één ZIP op.
Voorbeelden
Een typisch TXT-bestand, omgezet naar JSON
Invoer
The quick brown fox jumps over the lazy dog.
Second paragraph, first line.
Second paragraph, second line.
Uitvoer
{
"version": 1,
"cues": [
{
"start": 0,
"end": 2000,
"lines": [
"The quick brown fox jumps over the lazy dog."
]
},
{
"start": 2000,
"end": 4000,
"lines": [
"Second paragraph, first line."
]
},
{
"start": 4000,
"end": 6000,
"lines": [
"Second paragraph, second line."
]
}
]
}
In deze uitvoer gaat timing verloren. Al het andere komt regel voor regel overeen.
Dezelfde conversie op een rommelige invoer
Invoer
Hello world.
Second block.
Uitvoer
{
"version": 1,
"cues": [
{
"start": 0,
"end": 2000,
"lines": [
"Hello world."
]
},
{
"start": 2000,
"end": 4000,
"lines": [
"Second block."
]
}
]
}
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
Worden de tijdcodes verzonnen als een TXT-bestand JSON wordt?
Ja, want er valt niets om te zetten: TXT kent geen tijd. Deze pagina bouwt de tijdlijn op, met de eerste regel op nul en daarna een gelijkmatige opeenvolging waarin elke regel begint waar de vorige eindigde. Het duurveld bepaalt de lengte van elk blok; de volgorde van de regels blijft die van jouw bestand.
Hoe ziet de uitvoer eruit als TXT JSON wordt?
Als JSON: een array met blokobjecten, elk met een eigen id, start en end. Elk TXT-blok wordt één JSON-blok, in dezelfde volgorde en met dezelfde tekst.
Blijft de volgorde van TXT-blokken in de JSON-uitvoer behouden?
Ja, en ze worden onderweg op starttijd gesorteerd: vroegste eerst. Stond jouw tekstbestand niet in volgorde, dan zet de JSON-uitvoer de blokken weer netjes achter elkaar. Dat verandert de structuur van het bestand, niet de inhoud, en het is bewust.
Kan ik de JSON terug naar TXT omzetten?
Ja, en die richting heeft een eigen lijst: JSON naar TXT verliest timing, stijl, positie, karaoke en regelbreuken. Die lijst verschilt van de lijst hierboven, omdat beide formaten andere dingen bewaren.
Blijft de tekencodering van het TXT-bestand behouden in de JSON-uitvoer?
Nee. De uitvoer is UTF-8 met Unix-regeleinden en zonder BOM, wat het tekstbestand 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-JSON.