TTML til VTT
Eller indsæt underteksttekst
Hvad denne konvertering ændrer
3 ting frasorteres eller kræver en beslutning
- Formatering
al formatering undtagen fed og kursiv (farve, kontur, skygge, margener)
- Placering
placering på skærmen (hver tekstblok vender tilbage til standardpositionen)
- Formatspecifikt indhold
indhold, som kildeformatet beholder uden for sine tekstblokke (blokke, der ikke er tekstblokke, headertekst, indstillinger pr. tekstblok, kommenterede hændelser) – målformatet har ingen plads til det
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 TTML (Timed Text)-fil til WebVTT (VTT). TTML og VTT skriver begge tiden som 00:00:01.000, men VTT lægger den på en selvstændig tidskodelinje.
Når TTML bliver VTT, følger dette ikke med: formateringen, placeringen og formatets særindhold. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem 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 TTML-fil konverteret til VTT
Input
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
Resultat
WEBVTT
00:00:01.000 --> 00:00:03.500
Hello <i>there</i>.
00:00:03.500 --> 00:00:06.000
How are you?
Fine, thanks.
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 TTML-fil
Input
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:frameRate="25" xml:lang="en">
<body>
<div>
<p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
<p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
<p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
<p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom & Jerry.</p>
</div>
</body>
</tt>
Resultat
WEBVTT
00:00:01.500 --> 00:00:03.500
Loaded from an offset and a duration.
00:00:04.000 --> 00:00:06.500
A coarser clock spelling.
00:00:07.000 --> 00:00:08.480
Frames, at 25fps.
00:00:09.000 --> 00:00:11.000
<font color="#FF0000">Half-open</font> and Tom & Jerry.
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 TTML-læseren tilgiver, før filen skrives som VTT.
Ofte stillede spørgsmål
Hvordan skrives den samme tid i TTML og VTT?
TTML og VTT skriver begge tiden som 00:00:01.000, men VTT lægger den på en selvstændig tidskodelinje.
Hvad går tabt, når TTML bliver VTT?
Når TTML bliver VTT, melder kapacitetstabellen: formateringen, placeringen og formatets særindhold. Teksten og tidslinjen bevares. I målformatet skriver VTT tiden som 00:00:01.000 med punktum. Rapporten over filfeltet viser tabene, før du vælger en fil, og tæller dem per fil, når filen er læst.
Kan VTT rumme det, som TTML gemmer uden for tekstblokkene?
Nej. TTML gemmer prolog, <head>, style- og regiondefinitioner uden for tekstblokkene. VTT gemmer NOTE-, STYLE- og REGION-blokke samt indstillinger på tekstblokken uden for tekstblokkene. Derfor rapporteres indholdet uden for tekstblokkene som tab, når TTML bliver VTT.
Hvordan håndteres en beskidt TTML-fil, før den bliver VTT?
Når TTML bliver VTT, læses kilden sådan: Frametal læses via ttp:frameRate og frameRateMultiplier; en <p> uden egen begyndelsestid arver ikke fra <div> og droppes med en note. Sådan skrives resultatet: Filen får WEBVTT-linjen og en ren blokstruktur.
Hvilke tidsformer læses, når TTML bliver VTT?
Når TTML bliver VTT, accepterer læseren klokketid, offsets som 1.5s og 250ms samt frame-tal og frame-offsets. Frame-formerne kræver ttp:frameRate og frameRateMultiplier. WebVTT skriver samme øjeblik som 00:00:01.000 med punktum; timerne kan udelades.
Bliver min TTML-fil uploadet, når jeg laver VTT?
Nej. Både læsningen af TTML og skrivningen af VTT 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.