Ana içeriğe geç
SubtitleMatrix

TTML’den VTT’ye dönüştürücü

Ya da altyazı metnini yapıştırın

Bu dönüşüm neyi değiştirir

3 şey atılır ya da bir karar gerektirir

  • Stil

    kalın ve italik dışındaki tüm biçimlendirme (renk, kontur, gölge, kenar boşlukları)

  • Konumlandırma

    ekrandaki konumlandırma (her replik varsayılan konuma döner)

  • Biçime özgü içerik

    kaynak formatın repliklerinin dışında tuttuğu içerik (replik olmayan bloklar, başlık metni, replik başına ayarlar, yorum satırına alınmış olaylar) — hedef formatın bunun için yeri yok

Bu liste, yüklediğiniz belirli dosyadan değil, bu iki formatın yetenek matrisinden gelir. Belirli bir dosya, formatın izin verdiği ama matrisin modellemediği özellikler kullanıyorsa daha fazlasını kaybedebilir.

TTML dosyanızı VTT dosyasına dönüştürmek için dosyayı sürükleyip bırakın. TTML’de 1,25 saniye begin="00:00:01.250" diye yazılır; VTT’de aynı an 00:00:01.250 olur. Replik numaraları ve sırası korunur.

Kayıp listesi kısa ama gerçek: kalın ve italik dışındaki biçimlendirme düşer (renk, kontur, gölge, kenar boşlukları); ekran konumu düşer; her replik varsayılan konuma döner; replik dışındaki içerik düşer: prolog ve <head> bölümü. VTT çıktısı WEBVTT satırıyla başlar; metindeki <b> ve <i> etiketleri korunur, renk ve konum bilgisi yazılmaz. Metin ve zaman çizelgesi etkilenmez, düşen şey bunların çevresindeki bilgidir.

Dönüştürme tamamen tarayıcınızda çalışır: dosya hiçbir sunucuya gitmez, hesap açmanız gerekmez. Tek dosya da olur, bir sezonluk dizi de: sıra dosyaları tek tek işler, istediğiniz an durdurabilirsiniz ve sonuçlar tek bir ZIP olarak iner.

Örnekler

TTML’den VTT’ye geçen tipik bir dosya

Girdi

<?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>

Çıktı

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.

Bu çıktıda düşenler: renk ve kontur düşer; konum düşer; replik dışı içerik düşer. Metin ve replik sırası satır satır aynı kalır; iki sütunu yan yana karşılaştırabilirsiniz.

Gerçek hayattan bir TTML dosyası, VTT çıktısı

Girdi

<?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 &amp; Jerry.</p>
    </div>
  </body>
</tt>

Çıktı

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 &amp; Jerry.

Dağınık girdi dönüşümü bozmaz. Karışık satır sonları ve fazladan boşluklar okuma sırasında temizlenir; tanınmayan bloklar atlanır ve sayılır, böylece çıktının ne kadar güvenilir olduğunu bilirsiniz.

Sık sorulan sorular

TTML dosyası VTT olurken metin ve zamanlama yerinde kalır mı?

Replik metni, sırası ve zaman çizelgesi TTML’den VTT’ye olduğu gibi geçer. Değişen şey sarmalayıcıdır: TTML’de 1,25 saniye begin="00:00:01.250" diye yazılır; VTT’de aynı an 00:00:01.250 olur. Bununla birlikte kalın ve italik dışındaki biçimlendirme düşer (renk, kontur, gölge, kenar boşlukları); ekran konumu düşer; her replik varsayılan konuma döner; replik dışındaki içerik düşer: prolog ve <head> bölümü.

TTML’de zaman kodu VTT’de nasıl yazılır?

TTML’de bir an begin="00:00:01.250" diye yazılır; VTT’de aynı an 00:00:01.250 olur.

TTML’de renkler ve konturlar VTT’de kalır mı?

TTML’den VTT’ye geçişte renkler ve konturlar kalmaz. VTT yalnızca temel biçimlendirmeyi tanır: kalın, italik ve altı çizili metin korunur, ama renk, kontur, gölge ve kenar boşlukları düşer. Metin ve zamanlar bundan etkilenmez.

TTML dosyasını VTT’ye dönüştürdükten sonra onu hangi oynatıcılar açar?

TTML dosyasından üretilen VTT dosyasını şu araçlar açar: Tarayıcılar, HTML5 video, YouTube ve güncel oynatıcılar WebVTT okur; dosyanın WEBVTT satırıyla başlaması gerekir.

BOM ve CRLF içeren bir TTML dosyası VTT’ye dönüşürken sorun çıkarır mı?

Çıkarmaz. TTML dosyası okunurken BOM ve karışık satır sonları temizlenir, VTT çıktısı tek tip satır sonuyla yazılır. Tanınmayan bölümler atlanır ve sayılır; dönüşüm hiçbir zaman hata verip durmaz, anlaşılmayan her şey raporda görünür.

TTML dosyalarımı toplu olarak VTT’ye dönüştürebilir miyim?

Evet. Birden çok TTML dosyasını bir seferde sürükleyip bırakabilirsiniz; kuyruk hepsini sırayla işler, istediğiniz an durdurabilirsiniz ve VTT çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.

VTT dosyasını yeniden TTML’ye dönüştürürsem aynı dosyayı elde eder miyim?

TTML → VTT → TTML gidiş-dönüşünde şunlar geri gelmez: renk ve kontur, ekran konumu, replik dışındaki içerik. Metin, replik sırası ve başlangıç anları geri gelir, ama bu özellikler ikinci dönüşümde yeniden üretilemez. Gidiş-dönüşü bir yedek olarak değil, biçim değişikliği olarak düşünün.

İlgili araçlar