ASS til SBV
Eller lim inn underteksttekst
Hva denne konverteringen endrer
4 ting slippes eller trenger en avgjørelse
- Formatering
all formatering (fet, kursiv, farge, kontur, skygge)
- Plassering
plassering på skjermen (hver tekstblokk går tilbake til standardposisjonen)
- Karaoke
karaoketiming (utheving per stavelse)
- Formatspesifikt innhold
innhold som kildeformatet oppbevarer utenfor tekstblokkene (blokker utenom tekstblokkene, topptekst, innstillinger per tekstblokk, kommenterte hendelser) — målformatet har ingen plass til det
Denne listen kommer fra egenskapsmatrisen for disse to formatene, ikke fra den bestemte filen du lastet inn. En bestemt fil kan miste mer hvis den bruker egenskaper formatet tillater, men matrisen ikke modellerer.
Her konverteres en ASS-fil til SBV i nettleseren: du slipper inn en fil — eller limer inn teksten — og får SBV-utdataen tilbake.
Det er en reell forskjell på ASS og SBV: stiltabellen og den navngitte stilen forsvinner — skrift, størrelse, farge, omriss og skygge — mens innebygde tagger for fet og kursiv blir med som tekst; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner; SBV har ingen plass til innholdet ASS oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva ASS og SBV kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En hel sesong med ASS-filer går gjennom SBV-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi ASS-til-SBV-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk ASS-fil konvertert til SBV
Inndata
[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
0:00:01.000,0:00:04.000
Hello there.
0:00:05.000,0:00:08.500
<i>Italic</i> and <b>bold</b> text.
0:00:09.000,0:00:12.000
Positioned
0:00:13.000,0:00:16.000
<c>ka</c><c>ra</c><c>o</c><c>ke</c>
0:00:17.000,0:00:20.000
Line one
Line two
0:00:21.000,0:00:24.000
Top left
Dette går tapt i utdataen: formatering, plassering, karaoke og metadata.
Samme ASS-til-SBV-konvertering med vanskelig inndata
Inndata
[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 timecodeResultat
0:00:01.000,0:00:04.000
Hello, world
0:00:05.000,0:00:08.000
{\fad(300,300)}Unmodelled override
0:00:09.000,0:00:12.000
Both, wrong order
0:00:13.000,0:00:16.500
One decimal centisecond
0:00:17.000,0:00:20.000
Soft
break
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva ASS-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når ASS blir SBV?
Dette: stiltabellen og den navngitte stilen forsvinner — skrift, størrelse, farge, omriss og skygge — mens innebygde tagger for fet og kursiv blir med som tekst; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; karaoketimingen per stavelse forsvinner; SBV har ingen plass til innholdet ASS oppbevarer utenfor tekstblokkene. På kildesiden har ASS en full stiltabell, plassering, karaoke og hundredelers tider; på målsiden har SBV tekstblokker med start- og sluttid og innebygde tagger, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra ASS til SBV?
En tid i ASS ser slik ut: `0:00:04.13` — hundredeler. I SBV skrives den som `0:00:01.000,0:00:03.500` — start og slutt med komma imellom. SBV har finere oppløsning enn ASS, så verdiene går rett inn uten avrunding. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hva skjer med formateringen fra ASS i SBV?
Stiltabellen i ASS forsvinner — skrift, størrelse, marger, omriss og navngitte stiler — men de innebygde taggene for fet, kursiv og farge blir stående som vanlige tegn i teksten i SBV og overlever dermed. Det er stilen som er tapt, ikke all formatering.
Hvordan ser en SBV-fil ut når den er laget fra ASS?
SBV begynner hver tekstblokk med tidslinjen, uten nummer, og skiller blokkene med en tom linje. Konverteringen fra ASS fyller den formen: hver tekstblokk blir én SBV-blokk, i samme rekkefølge, med ASS-ens tekst delt i de samme linjene.
Kan jeg konvertere SBV tilbake til ASS, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: den siste desimalen forsvinner, fordi klokken i ASS runder hvert tidsstempel til nærmeste 10 ms. Det er ikke den samme listen som ASS → SBV, fordi de to formatene beholder ulike ting.
Beholder SBV plasseringen som ASS beskriver?
Nei. ASS kan plassere en tekstblokk på skjermen, men SBV har ingen posisjonsmodell, så hver tekstblokk faller tilbake til spillerens standardplass; posisjonen står i tap-listen.
Hva gjør SBV med en tekstblokk fra ASS som har flere linjer?
Den beholder linjene. ASS og SBV uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet ved å legge linjene under hverandre i samme blokk i stedet for å slå sammen teksten.
Forsvinner karaoketimingen i ASS når jeg konverterer til SBV?
Ja. ASS kan lagre per stavelse når en linje skal lyse opp, men SBV har ingen slik instruksjon; ordene blir stående, men timingen per stavelse er borte.
Hva skjer med kommentarer og metadata i ASS når filen blir SBV?
ASS kan ha `[Script Info]` med globale innstillinger, innbakte skrifter i `[Fonts]`, grafikk i `[Graphics]` og `Comment:`-hendelser utenfor tekstblokkene. SBV har ingenting — SBV lagrer tekstblokker og ikke noe annet; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.
Blir tidsstemplene nøyaktige i konverteringen fra ASS til SBV?
ASS har 10 ms oppløsning, mens SBV har 1 ms; ASS-ens verdier går derfor rett inn uten avrunding, og tidsstemplene blir stående som de var.