JSON til SBV
Eller indsæt underteksttekst
Hvad denne konvertering ændrer
3 ting frasorteres eller kræver en beslutning
- Formatering
al formatering (fed, kursiv, farve, kontur, skygge)
- Placering
placering på skærmen (hver tekstblok vender tilbage til standardpositionen)
- Karaoke
karaoke-timing (fremhævning pr. stavelse)
Denne liste kommer fra kapabilitetsmatricen for disse to formater, ikke fra den konkrete fil, du indlæste. En bestemt fil kan miste mere, hvis den bruger egenskaber, som formatet tillader, men matricen ikke modellerer.
Denne side konverterer en SubtitleMatrix JSON-fil til YouTube SBV. JSON skriver start: 1000, mens SBV skriver 0:00:01.000, og tiden kan skrives uden afrunding.
Når JSON bliver SBV, følger dette ikke med: formateringen, placeringen og karaoke-timingen. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.
En fil eller en hel sæson: køen behandler filerne i rækkefølge, du kan afbryde undervejs, og resultaterne hentes samlet som én ZIP-fil. Hele konverteringen kører i browseren – filen forlader aldrig din computer.
Eksempler
En typisk JSON-fil konverteret til SBV
Input
{
"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
0:00:00.000,0:00:02.000
Hello world.
Second line.
0:00:02.500,0:00:04.000
Plain line.
<i>Styled</i> line.
0:00:04.500,0:00:06.000
Roger: I am here.
Tidskoderne skrives om fra start: 1000 til 0:00:01.000; ordene og rækkefølgen er den samme. Sammenlign de to filer linje for linje.
Samme konvertering på en beskidt JSON-fil
Input
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Resultat
0:00:00.000,0:00:01.000
First.
0:00:01.000,0:00:02.000
Second.
0:00:02.000,0:00:03.000
Third.
Sådan ser beskadigede filer ud i virkeligheden – blandede linjeskift, løse mellemrum og tomme felter. Sammenlign med det pæne eksempel ovenfor for at se, hvad JSON-læseren tilgiver, før filen skrives som SBV.
Ofte stillede spørgsmål
Hvordan skrives den samme tid i JSON og SBV?
JSON skriver start: 1000, mens SBV skriver 0:00:01.000, og tiden kan skrives uden afrunding.
Hvad går tabt, når JSON bliver SBV?
Når JSON bliver SBV, melder kapacitetstabellen: formateringen, placeringen og karaoke-timingen. Teksten og tidslinjen bevares. I målformatet skriver SBV start og slut på samme linje som 0:00:01.000,0:00:03.000. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.
Kan SBV rumme det, som JSON gemmer uden for tekstblokkene?
Ja. JSON har ingen private blokke, men ukendte nøgler bevares. Der er derfor intet privat indhold at miste. SBV har ingen blokke uden for tekstblokkene.
Hvordan håndteres en beskidt JSON-fil, før den bliver SBV?
Når JSON bliver SBV, læses kilden sådan: JSON accepterer både objektformen, arrayformen, subtitle.js-AST og tekstgenveje; output skrives med to mellemrum, LF og sorteret efter starttid. Sådan skrives resultatet: Filen får tidskoder med punktum og ingen løbenumre.
Hvilke JSON-former læses, når JSON bliver SBV?
Når JSON bliver SBV, accepterer læseren objektformen med version og nøglen cues, den rå arrayform, subtitle.js-AST med type og data samt tekstgenvejen med en text-streng. Udgangen er altid den samme kanoniske form, uanset hvilken form der kom ind. Filen får tidskoder med punktum og ingen løbenumre.
Bliver min JSON-fil uploadet, når jeg laver SBV?
Nej. Både læsningen af JSON og skrivningen af SBV sker i browseren, så intet af teksten, tiderne eller tagsene sendes i en anmodning. Du kan lægge en hel sæson ind, afbryde undervejs og hente resultaterne som én ZIP-fil; når siden er indlæst, virker den også uden net.