Gå til hovedindholdet
SubtitleMatrix

ASS til CSV

FormatkonverteringAdvanced SubStation Alpha (ASS)
Eller indsæt underteksttekst

Hvad denne konvertering ændrer

4 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)

  • Formatspecifikt indhold

    indhold, som kildeformatet beholder uden for sine tekstblokke (blokke, der ikke er tekstblokke, headertekst, indstillinger pr. tekstblok, kommenterede hændelser) – målformatet har ingen plads til det

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 Advanced SubStation Alpha (ASS)-fil til CSV Spreadsheet. ASS skriver 0:00:01.23, mens CSV skriver 00:00:01.000, og tiden kan skrives uden afrunding.

Når ASS bliver CSV, følger dette ikke med: formateringen, placeringen, karaoke-timingen og formatets særindhold. 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 ASS-fil konverteret til CSV

Input

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, 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.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

Resultat

start,end,text
00:00:01.000,00:00:04.000,Hello there.
00:00:05.000,00:00:08.500,<i>Italic</i> and <b>bold</b> text.
00:00:09.000,00:00:12.000,Positioned
00:00:13.000,00:00:16.000,<c>ka</c><c>ra</c><c>o</c><c>ke</c>
00:00:17.000,00:00:20.000,"Line one
Line two"
00:00:21.000,00:00:24.000,Top left

Tidskoderne skrives om fra 0:00:01.23 til 00:00:01.000; ordene og rækkefølgen er den samme. Sammenlign de to filer linje for linje.

Samme konvertering på en beskidt ASS-fil

Input

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

Resultat

start,end,text
00:00:01.000,00:00:04.000,"Hello, world"
00:00:05.000,00:00:08.000,"{\fad(300,300)}Unmodelled override"
00:00:09.000,00:00:12.000,"Both, wrong order"
00:00:13.000,00:00:16.500,One decimal centisecond
00:00:17.000,00:00:20.000,"Soft
break"

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 ASS-læseren tilgiver, før filen skrives som CSV.

Ofte stillede spørgsmål

Hvordan skrives den samme tid i ASS og CSV?

ASS skriver 0:00:01.23, mens CSV skriver 00:00:01.000, og tiden kan skrives uden afrunding.

Hvad går tabt, når ASS bliver CSV?

Når ASS bliver CSV, melder kapacitetstabellen: formateringen, placeringen, karaoke-timingen og formatets særindhold. Teksten og tidslinjen bevares. I målformatet skriver CSV start og slut som to kolonner med punktum i millisekunderne. 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 CSV rumme det, som ASS gemmer uden for tekstblokkene?

Nej. ASS gemmer [Script Info], indlejrede skrifter og grafik samt Comment-linjer uden for tekstblokkene. CSV har ingen tilsvarende blokke. Derfor rapporteres indholdet uden for tekstblokkene som tab, når ASS bliver CSV.

Hvordan håndteres en beskidt ASS-fil, før den bliver CSV?

Når ASS bliver CSV, læses kilden sådan: ASS læses i hundrededele sekunder; ukendte felter bevares, og Comment-linjer tælles som indhold uden for tekstblokkene. Sådan skrives resultatet: Filen skrives som en tabel med overskriftsrække og anførselstegn om nødvendigt.

Hvordan skrives tekstblokkene som CSV-rækker, når ASS bliver CSV?

Når ASS bliver CSV, får hver tekstblok en række med start, slut og tekst, og overskriftsrækken navngiver kolonnerne. Felter med komma eller citationstegn sættes i anførselstegn efter RFC 4180, så cellerne ikke forskydes. ASS skriver tiden som 0:00:01.23 i hundrededele sekunder. Tider skrives med punktum.

Bliver min ASS-fil uploadet, når jeg laver CSV?

Nej. Både læsningen af ASS og skrivningen af CSV 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.

Relaterede værktøjer