CSV til SMI
Eller lim inn underteksttekst
Hva denne konverteringen endrer
Ingenting går tapt i denne retningen — hver egenskap i kildeformatet har et sted å ta veien i målformatet.
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 CSV-til-SMI-konverteringen tar en fil, eller tekst limt inn i boksen, og gir deg SMI-utdataen uten å sende noe videre.
Retningen CSV → SMI er tapsfri — CSV og SMI uttrykker de samme tingene, og filen kan sammenlignes linje for linje.
En hel sesong med CSV-filer går gjennom SMI-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi CSV-til-SMI-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk CSV-fil konvertert til SMI
Inndata
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
Resultat
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
Ingenting går tapt her: CSV og SMI uttrykker de samme tingene, så de to sidene kan sammenlignes linje for linje.
Samme CSV-til-SMI-konvertering med vanskelig inndata
Inndata
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
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, friend.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<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 CSV-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når CSV blir SMI?
Ingenting. CSV lagrer rader med start, slutt og tekst i millisekunder, og SMI lagrer tekstblokker med start- og sluttid og grunnleggende formatering — de to kan sammenlignes linje for linje, og hver tekstblokk, hvert tidsstempel og hver linje kommer over uendret.
Hvordan skrives tidsstemplene om fra CSV til SMI?
En tid i CSV ser slik ut: `00:00:01.000` i en `start`- eller `end`-kolonne. I SMI skrives den som `<SYNC Start=4126>` — millisekunder. 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 CSV i SMI?
Formateringen fra CSV kommer over så langt den rekker: CSV har innebygde tagger for fet, kursiv og farge, og SMI har grunnleggende formatering å skrive dem inn i. SMI får ikke mer formatering enn kilden hadde.
Hvordan ser en SMI-fil ut når den er laget fra CSV?
SMI er SAMI-oppmerking med `<SYNC>`-blokker og `<P>`/`<br>`. Konverteringen fra CSV fyller den formen: hver tekstblokk blir én SMI-blokk, i samme rekkefølge, med CSV-ens tekst delt i de samme linjene.
Kan jeg konvertere SMI tilbake til CSV, 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; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; CSV har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som CSV → SMI, fordi de to formatene beholder ulike ting.
Beholder SMI plasseringen som CSV beskriver?
CSV lagrer ingen plassering, så det er ingenting å overføre. SMI har sin egen posisjonsmodell, men den fylles ikke av noe fra kilden.