Gå till huvudinnehållet
SubtitleMatrix

Konvertera CSV till TTML

Eller klistra in undertexttext

Vad den här konverteringen ändrar

Inget går förlorat i den här riktningen – varje funktion i källformatet har någonstans att ta vägen i målformatet.

Den här listan kommer från kapacitetsmatrisen för de här två formaten, inte från den specifika fil du laddade. En viss fil kan förlora mer om den använder funktioner som formatet tillåter men matrisen inte modellerar.

Den här sidan konverterar en CSV-fil till TTML. CSV skriver tiderna i kolumner som 00:00:04.126, med millisekunder. TTML skriver tiden i begin- och end-attribut som 00:00:04.126, med millisekunder. Ett CSV-textblock är en rad med start, slut och text under en rubrikrad. Ett TTML-textblock är ett <p>-element med begin och end inuti ett XML-dokument. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

Kapacitetsmatrisen rapporterar ingen förlust när CSV blir TTML: allt som en CSV-fil kan uttrycka har en motsvarighet i TTML. Rapporten ovanför filrutan visar vad som tappas vid konverteringen och vad som redan tappades när filen lästes.

En fil eller en hel säsong: kön bearbetar filerna i tur och ordning, du kan avbryta mitt i och resultaten laddas ner tillsammans som en ZIP. Hela konverteringen sker i webbläsaren – filen lämnar aldrig datorn.

Exempel

En typisk CSV-fil konverterad till TTML

Indata

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>

Inget tappas här: jämför de två sidorna rad för rad.

Samma konvertering på en stökig fil

Indata

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å här ser skadade filer ut i verkligheten – blandade radbrytningar, lösa blanksteg och tomma fält. Jämför med det prydliga exemplet ovan för att se vad tolken förlåter.

Vanliga frågor

Hur skiljer sig tidskoderna i CSV och TTML?

CSV skriver tiderna i kolumner som 00:00:04.126, med millisekunder. TTML skriver tiden i begin- och end-attribut som 00:00:04.126, med millisekunder. Båda räknar i millisekunder, så ingen tid avrundas i konverteringen.

Vad förloras när en CSV-fil blir TTML?

Inget enligt kapacitetsmatrisen: CSV har ingen deklarerad formatering, ingen placering och ingen karaoke, så det finns inget i filen som TTML behöver lämna. Tidskoderna skrivs ändå om: 00:00:04.126 blir 00:00:04.126.

Klarar TTML av formatering och placering som CSV har?

CSV har ingen stildel; en tagg i en cell visas som tecken, inte som formatering. CSV har ingen placering i filen. CSV har ingen karaoke. TTML har en <styling>-tabell med namngivna stilar och en <layout>-tabell med regioner i <head>. TTML placerar text via regioner som definieras i <head>. TTML sparar när ett textblock börjar och slutar, inte när en stavelse markeras.

Vad händer med radbrytningar och antalet textblock när CSV konverteras till TTML?

CSV till TTML: Ett CSV-textblock är en rad med start, slut och text under en rubrikrad. Ett CSV-textblock kan innehålla radbrytningar inuti ett citerat textfält. Ett TTML-textblock behåller hårda radbrytningar (<br/>).

Laddas min CSV-fil upp när jag konverterar den till TTML?

Nej. Både inläsningen av CSV-filen och skrivningen av TTML-filen sker i webbläsaren; ingen del av texten, tiderna eller taggarna skickas i en förfrågan. Du kan lägga in en hel säsong, avbryta mitt i och ladda ner resultaten som en ZIP.

Relaterade verktyg