CSV til TTML
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.
Slipp inn en CSV-fil på denne siden, og du får den tilbake som TTML, med tidsstemplene skrevet om og teksten i behold.
Retningen CSV → TTML er tapsfri — CSV og TTML uttrykker de samme tingene, og filen kan sammenlignes linje for linje.
En hel sesong med CSV-filer går gjennom TTML-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi CSV-til-TTML-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk CSV-fil konvertert til TTML
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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over, the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p> </body>
</tt>
Ingenting går tapt her: CSV og TTML uttrykker de samme tingene, så de to sidene kan sammenlignes linje for linje.
Samme CSV-til-TTML-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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there, friend.</p>
<p begin="00:00:05.000" end="00:00:07.000">Second line.</p>
<p begin="00:00:10.000" end="00:00:10.001">End before start.</p>
<p begin="00:00:12.000" end="00:00:14.000">Unquoted comma in text, right here.</p> </body>
</tt>
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 TTML?
Ingenting. CSV lagrer rader med start, slutt og tekst i millisekunder, og TTML lagrer XML-elementer med stiler, plassering og millisekunder — 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 TTML?
En tid i CSV ser slik ut: `00:00:01.000` i en `start`- eller `end`-kolonne. I TTML skrives den som `begin="00:00:04.126"` og `end="…"`. 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 TTML?
Formateringen fra CSV kommer over så langt den rekker: CSV har innebygde tagger for fet, kursiv og farge, og TTML har full formatering å skrive dem inn i. TTML får ikke mer formatering enn kilden hadde.
Hvordan ser en TTML-fil ut når den er laget fra CSV?
TTML er XML med `<tt>`, `<body>` og ett `<p>`-element per tekstblokk. Konverteringen fra CSV fyller den formen: hver tekstblokk blir én TTML-blokk, i samme rekkefølge, med CSV-ens tekst delt i de samme linjene.
Kan jeg konvertere TTML tilbake til CSV, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: 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; CSV har ingen plass til innholdet TTML oppbevarer utenfor tekstblokkene. Det er ikke den samme listen som CSV → TTML, fordi de to formatene beholder ulike ting.
Beholder TTML plasseringen som CSV beskriver?
CSV lagrer ingen plassering, så det er ingenting å overføre. TTML har sin egen posisjonsmodell, men den fylles ikke av noe fra kilden.