SMI til SRT
Eller lim inn underteksttekst
Hva denne konverteringen endrer
3 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)
- 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.
Denne SMI-til-SRT-konverteringen tar en fil, eller tekst limt inn i boksen, og gir deg SRT-utdataen uten å sende noe videre.
Det er en reell forskjell på SMI og SRT: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; SRT har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva SMI og SRT kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En hel sesong med SMI-filer går gjennom SRT-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi SMI-til-SRT-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk SMI-fil konvertert til SRT
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
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:03,500 --> 00:00:06,000
How are you?
Fine, thanks.
Dette går tapt i utdataen: formatering, plassering og metadata.
Samme SMI-til-SRT-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
1
00:00:02,500 --> 00:00:09,000
Line one
Line two
2
00:00:09,000 --> 00:00:12,000
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 SRT?
Dette: farge, omriss, skygge og marger forsvinner, mens fet og kursiv overlever som innebygde tagger; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; SRT 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 SRT tekstblokker med start- og sluttid, millisekunder og innebygde tagger i selve teksten, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra SMI til SRT?
En tid i SMI ser slik ut: `<SYNC Start=4126>` — millisekunder. I SRT skrives den som `00:00:04,126` — timer, minutter, sekunder og millisekunder, med komma foran millisekundene. Begge formatene bruker samme oppløsning, så ingen avrunding skjer. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hva skjer med formateringen fra SMI i SRT?
Det som går tapt, er det SMI kan uttrykke ut over de innebygde taggene — `<STYLE>`-blokken og CSS-klassene. Selve taggene for fet, kursiv og farge skrives om til SRTs egne tagger og overlever.
Hvordan ser en SRT-fil ut når den er laget fra SMI?
SRT er en nummerert tekstblokk, en tidslinje med `-->` og én eller flere tekstlinjer, med en tom linje mellom blokkene. Konverteringen fra SMI fyller den formen: hver tekstblokk blir én SRT-blokk, i samme rekkefølge, med SMI-ens tekst delt i de samme linjene.
Kan jeg konvertere SRT tilbake til SMI, og hva går tapt da?
Ja, og den veien er også tapsfri: SRT og SMI uttrykker de samme tingene, så en runde tilbake gir de samme tekstblokkene og tidsstemplene.
Beholder SRT plasseringen som SMI beskriver?
Nei. SMI kan plassere en tekstblokk på skjermen, men SRT har ingen posisjonsmodell — noen verktøy skriver `{\anN}` som ren tekst, men det er ikke det denne konverteringen gjør. Hver tekstblokk faller tilbake til spillerens standardplass.
Hva gjør SRT med en tekstblokk fra SMI som har flere linjer?
Den beholder linjene. SMI og SRT uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet ved å legge linjene under hverandre i samme blokk i stedet for å slå sammen teksten.
Hva skjer med kommentarer og metadata i SMI når filen blir SRT?
SMI kan ha `<STYLE>`-blokken og kommentarer utenfor tekstblokkene. SRT har ingenting — SRT 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 SMI til SRT?
SMI og SRT har begge 1 ms oppløsning, så tidsstemplene går over uten avrunding og uten at noen tekstblokk flyttes.