CSV naar SSA
Of plak ondertiteltekst
Wat deze conversie verandert
1 ding vervalt of vraagt om een beslissing
- Nauwkeurigheid
tijdprecisie — de klok van de uitvoer is grover, dus elke tijdstempel wordt afgerond op de dichtstbijzijnde 10 ms
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 CSV om naar SSA. Je sleept een bestand naar het vak of plakt de tekst erin, en je krijgt de SSA-versie terug. De conversie draait volledig in je browser: er wordt niets geüpload en je hebt geen account nodig.
Deze twee formaten bewaren niet hetzelfde, en het verschil is niet cosmetisch: de fijnere tijdsaanduiding heeft in SSA geen plek. De lijst hierboven komt uit wat beide formaten kunnen uitdrukken, niet uit jouw bestand, dus het antwoord is hetzelfde vóór je iets laadt.
Eén bestand kan, een heel seizoen ook: de wachtrij werkt ze in volgorde af en levert één ZIP op.
Voorbeelden
Een typisch CSV-bestand, omgezet naar SSA
Invoer
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
Uitvoer
[Script Info]
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,The quick brown fox.
Dialogue: 0,0:00:04.00,0:00:06.25,Default,,0,0,0,,Jumps over, the lazy dog.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Two lines here.\NAnd a second one.
In deze uitvoer gaat de fijnere tijdsaanduiding verloren. Al het andere komt rij voor rij overeen.
Dezelfde conversie op een rommelige invoer
Invoer
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
Uitvoer
[Script Info]
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there, friend.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0,0,0,,Second line.
Dialogue: 0,0:00:10.00,0:00:10.01,Default,,0,0,0,,End before start.
Dialogue: 0,0:00:12.00,0:00:14.00,Default,,0,0,0,,Unquoted comma in text, right here.
Zo zien echte tabellen er vaak uit: een kopregel met andere namen, een tijdcode zonder aanhalingstekens, een lege cel. Vergelijk het met het nette voorbeeld hierboven om te zien wat de parser vergeeft.
Veelgestelde vragen
Waarom zijn de tijdstempels van CSV naar SSA verschoven?
SSA bewaart tijd als 0:00:04.13 waar CSV 00:00:04.126 schrijft — een honderdste tegen een duizendste van een seconde — dus elke tijdcode wordt op de dichtstbijzijnde 10 ms afgerond: uit 00:00:04,126 wordt 4,13 seconden. Niets wordt uitgerekt of herordend en geen blok verschuift meer dan 5 ms, maar als je deze ondertitels tegen een ander bestand uitlijnt, is dit de enige plek waar de conversie niet meer exact is.
Hoe ziet de uitvoer eruit als CSV SSA wordt?
Als SSA: zonder bloknummers. Elk ondertitelblok is een Dialogue:-regel in de sectie [Events], met een Marked-veld waar SRT het volgnummer bewaart. Elk CSV-blok wordt één SSA-blok, in dezelfde volgorde en met dezelfde tekst.
Hoe komt een CSV-blok van twee regels in SSA terecht?
Als twee regels met \N ertussen, want zo schrijft SSA een harde regelbreuk. Het paar blijft bij elkaar: de twee CSV-regels horen in de SSA-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.
Behouden CSV-blokken hun volgorde in de SSA-uitvoer?
Ja, en ze worden onderweg op starttijd gesorteerd: vroegste eerst, zoals elk formaat hier ze verwacht en zoals spelers ze lezen. Stond jouw CSV niet in volgorde, dan zet de SSA-uitvoer de blokken weer netjes achter elkaar. Dat is een structurele ingreep, geen inhoudelijke, en ze is bewust.
Kan ik de SSA terug naar CSV omzetten?
Ja, en die richting heeft een eigen lijst: SSA naar CSV verliest stijl, positie, karaoke en formaatspecifieke inhoud. Die lijst verschilt van de lijst hierboven, omdat beide formaten andere dingen bewaren.
Blijft de tekencodering van het CSV-bestand behouden in de SSA-uitvoer?
Nee. De uitvoer is UTF-8 met Unix-regeleinden en zonder BOM, wat het CSV-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-SSA.