Gå til hovedindholdet
SubtitleMatrix

CSV til TTML

Eller indsæt underteksttekst

Hvad denne konvertering ændrer

Intet går tabt i denne retning – hver egenskab i kildeformatet har et sted at ende i målformatet.

Denne liste kommer fra kapabilitetsmatricen for disse to formater, ikke fra den konkrete fil, du indlæste. En bestemt fil kan miste mere, hvis den bruger egenskaber, som formatet tillader, men matricen ikke modellerer.

Denne side konverterer en CSV Spreadsheet-fil til TTML (Timed Text). CSV og TTML skriver begge tiden som 00:00:01.000, men TTML lægger den i begin- og end-attributter på hvert <p>-element.

Når CSV bliver TTML, melder kapacitetstabellen intet tab: alt, som CSV kan udtrykke, har en plads i TTML. For CSV til TTML bekræfter rapporten over filfeltet det, før du vælger en fil, og tæller eventuelle fund per fil, når filen er læst.

En fil eller en hel sæson: køen behandler filerne i rækkefølge, du kan afbryde undervejs, og resultaterne hentes samlet som én ZIP-fil. Hele konverteringen kører i browseren – filen forlader aldrig din computer.

Eksempler

En typisk CSV-fil konverteret til TTML

Input

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>

Tidskoderne skrives om fra 00:00:01.000 til 00:00:01.000; ordene og rækkefølgen er den samme. Sammenlign de to filer linje for linje.

Samme konvertering på en beskidt CSV-fil

Input

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>

Sådan ser beskadigede filer ud i virkeligheden – blandede linjeskift, løse mellemrum og tomme felter. Sammenlign med det pæne eksempel ovenfor for at se, hvad CSV-læseren tilgiver, før filen skrives som TTML.

Ofte stillede spørgsmål

Hvordan skrives den samme tid i CSV og TTML?

CSV og TTML skriver begge tiden som 00:00:01.000, men TTML lægger den i begin- og end-attributter på hvert <p>-element.

Hvad går tabt, når CSV bliver TTML?

Når CSV bliver TTML, melder kapacitetstabellen intet tab: alt, som CSV kan udtrykke, har en plads i TTML, så teksten, tidslinjen og linjeskiftet bevares. Det, der ændrer sig, er syntaksen omkring dem.

Kan TTML rumme det, som CSV gemmer uden for tekstblokkene?

Ja. CSV bevarer ukendte kolonner i samme format. Der er derfor intet privat indhold at miste. TTML gemmer prolog, <head>, style- og regiondefinitioner uden for tekstblokkene.

Hvordan håndteres en beskidt CSV-fil, før den bliver TTML?

Når CSV bliver TTML, læses kilden sådan: Semikolondelte filer læses som ren tekst; en manglende sluttid udledes fra næste starttid; celler med kommaer, anførselstegn eller linjeskift sættes i anførselstegn. Sådan skrives resultatet: Filen skrives som XML med <p begin=… end=…>.

Hvordan skrives tiderne i TTML, når CSV bliver TTML?

Når CSV bliver TTML, skrives begin og end som klokketid, for eksempel 00:00:01.000. Ved læsning accepteres også offsets som 1.5s og frame-tal som 00:00:01:12, men det, vi skriver ud, er altid klokketid. CSV skriver start og slut som kolonner med 00:00:01.000 – punktum i millisekunderne.

Bliver min CSV-fil uploadet, når jeg laver TTML?

Nej. Både læsningen af CSV og skrivningen af TTML sker i browseren, så intet af teksten, tiderne eller tagsene sendes i en anmodning. Du kan lægge en hel sæson ind, afbryde undervejs og hente resultaterne som én ZIP-fil; når siden er indlæst, virker den også uden net.

Relaterede værktøjer