SMI til ASS
Eller lim inn underteksttekst
Hva denne konverteringen endrer
2 ting slippes eller trenger en avgjørelse
- Presisjon
tidspresisjon — resultatets klokke er grovere, så hvert tidsstempel rundes av til nærmeste 10 ms
- 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 SMI-fil til ASS i nettleseren: du slipper inn en fil — eller limer inn teksten — og får ASS-utdataen tilbake.
Forskjellen mellom SMI og ASS er ikke kosmetisk: 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.
Listen over filboksen er regnet ut fra hva SMI og ASS kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
Du kan kjøre én SMI-fil eller en hel sesong til ASS i samme kjøring: filene behandles én om gangen, kjøringen kan avbrytes underveis, og alt kommer ned som én ZIP.
Konverteringen fra SMI til ASS skjer i nettleseren din, så ingenting lastes opp.
Eksempler
En typisk SMI-fil konvertert til ASS
Inndata
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Resultat
[Script Info]
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,0,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:03.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.
Dette går tapt i utdataen: tidspresisjon og metadata.
Samme SMI-til-ASS-konvertering med vanskelig inndata
Inndata
<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Resultat
[Script Info]
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,0,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:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom & Jerry
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva SMI-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når SMI blir ASS?
Dette: 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. På kildesiden har SMI tekstblokker med start- og sluttid og grunnleggende formatering; på målsiden har ASS en full stiltabell, plassering, karaoke og hundredelers tider, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra SMI til ASS?
En tid i SMI ser slik ut: `<SYNC Start=4126>` — millisekunder. I ASS skrives den som `0:00:04.13` — hundredeler. Klokken i ASS er grovere enn i SMI, så hvert tidsstempel rundes til nærmeste 10 ms. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hva skjer med formateringen fra SMI i ASS?
Formateringen fra SMI kommer over så langt den rekker: SMI har innebygde tagger for fet, kursiv og farge, og ASS har full formatering å skrive dem inn i. ASS får ikke mer formatering enn kilden hadde.
Hvordan ser en ASS-fil ut når den er laget fra SMI?
ASS er `[Script Info]`, en stiltabell i `[V4+ Styles]` og `[Events]` med `Dialogue:`-linjer. Konverteringen fra SMI fyller den formen: hver tekstblokk blir én ASS-blokk, i samme rekkefølge, med SMI-ens tekst delt i de samme linjene.
Kan jeg konvertere ASS tilbake til SMI, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: 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. Det er ikke den samme listen som SMI → ASS, fordi de to formatene beholder ulike ting.
Beholder ASS plasseringen som SMI beskriver?
Ja, i den formen ASS har: ASS kan plassere tekstblokker, så SMI-ens posisjon skrives om dit i stedet for å kastes.
Hva gjør ASS med en tekstblokk fra SMI som har flere linjer?
Den beholder linjene. SMI og ASS uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet med `\N` mellom linjene i samme `Dialogue:`-linje i stedet for å slå sammen teksten.