ASS til SMI
Eller lim inn underteksttekst
Hva denne konverteringen endrer
3 ting slippes eller trenger en avgjørelse
- Formatering
all formatering unntatt fet og kursiv (farge, kontur, skygge, marger)
- 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.
Slipp inn en ASS-fil på denne siden, og du får den tilbake som SMI, med tidsstemplene skrevet om og teksten i behold.
Konverteringen fra ASS til SMI mister noe, og det er verd å vite hva: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; karaoketimingen per stavelse forsvinner; SMI har ingen plass til innholdet ASS oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva ASS og SMI kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En enkelt ASS-fil går like fint som hundre, så du kan sende hele sesongen gjennom SMI-konverteringen og laste ned alt som én ZIP.
Arbeidet med ASS til SMI skjer i nettleseren din — ingen server ser filen.
Eksempler
En typisk ASS-fil konvertert til SMI
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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P><i>Italic</i> and <b>bold</b> text.
<SYNC Start=8500>
<P>
<SYNC Start=9000>
<P>Positioned
<SYNC Start=12000>
<P>
<SYNC Start=13000>
<P><c>ka</c><c>ra</c><c>o</c><c>ke</c>
<SYNC Start=16000>
<P>
<SYNC Start=17000>
<P>Line one<br>Line two
<SYNC Start=20000>
<P>
<SYNC Start=21000>
<P>Top left
<SYNC Start=24000>
<P>
</BODY>
</SAMI>
Dette går tapt i utdataen: farge og marger, karaoke og metadata.
Samme ASS-til-SMI-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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello, world
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>{\fad(300,300)}Unmodelled override
<SYNC Start=8000>
<P>
<SYNC Start=9000>
<P>Both, wrong order
<SYNC Start=12000>
<P>
<SYNC Start=13000>
<P>One decimal centisecond
<SYNC Start=16500>
<P>
<SYNC Start=17000>
<P>Soft<br>break
<SYNC Start=20000>
<P>
</BODY>
</SAMI>
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 SMI?
Dette: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; karaoketimingen per stavelse forsvinner; SMI 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 SMI tekstblokker med start- og sluttid og grunnleggende formatering, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra ASS til SMI?
En tid i ASS ser slik ut: `0:00:04.13` — hundredeler. I SMI skrives den som `<SYNC Start=4126>` — millisekunder. SMI 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 SMI?
Stiltabellen forsvinner: skrift, størrelse, marger, omriss og skygge fra ASS har ingen plass i SMI, som bare har grunnleggende formatering. Fet og kursiv skrives om til SMIs innebygde tagger og overlever; farge går tapt.
Hvordan ser en SMI-fil ut når den er laget fra ASS?
SMI er SAMI-oppmerking med `<SYNC>`-blokker og `<P>`/`<br>`. Konverteringen fra ASS fyller den formen: hver tekstblokk blir én SMI-blokk, i samme rekkefølge, med ASS-ens tekst delt i de samme linjene.
Kan jeg konvertere SMI 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; ASS har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som ASS → SMI, fordi de to formatene beholder ulike ting.
Beholder SMI plasseringen som ASS beskriver?
Ja, i den formen SMI har: SMI kan plassere tekstblokker, så ASS-ens posisjon skrives om dit i stedet for å kastes.
Hva gjør SMI med en tekstblokk fra ASS som har flere linjer?
Den beholder linjene. ASS og SMI uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet med `<br>` mellom linjene i stedet for å slå sammen teksten.
Forsvinner karaoketimingen i ASS når jeg konverterer til SMI?
Ja. ASS kan lagre per stavelse når en linje skal lyse opp, men SMI 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 SMI?
ASS kan ha `[Script Info]` med globale innstillinger, innbakte skrifter i `[Fonts]`, grafikk i `[Graphics]` og `Comment:`-hendelser utenfor tekstblokkene. SMI har `<STYLE>`-blokken og kommentarer; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.