Ana içeriğe geç
SubtitleMatrix

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

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

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

2 ş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ı)

  • 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ı SMI 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; SAMI’de aynı an <SYNC Start=1250> bloğuyla başlar. 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ı); replik dışındaki içerik düşer: prolog ve <head> bölümü. SAMI çıktısında her replik bir <SYNC> bloğu olur, bitiş ise bir sonraki blokla belirlenir. Metin ve zaman çizelgesi etkilenmez, düşen şey bunların çevresindeki bilgidir.

Tek dosyayı sürükleyip bırakın ya da metni yapıştırın; çıktı hemen iner. Toplu işlemde kuyruk dosyaları sırayla işler, ilerlemeyi gösterir ve tüm sonuçları tek ZIP’te toplar. Dosyalar cihazınızdan çıkmaz.

Örnekler

TTML’den SMI’ya 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ı

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello <i>there</i>.
<SYNC Start=3500>
<P>&nbsp;
<SYNC Start=3500>
<P>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P>&nbsp;
</BODY>
</SAMI>

Bu dönüşümde kaybedilenler: renk ve kontur düşer; replik dışı içerik düşer. Replik sayısı ve sırası değişmez; kayıp yalnızca yukarıdaki listede adı geçen özelliklerdedir.

Gerçek hayattan bir TTML dosyası, SMI çı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ı

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1500>
<P>Loaded from an offset and a duration.
<SYNC Start=3500>
<P>&nbsp;
<SYNC Start=4000>
<P>A coarser clock spelling.
<SYNC Start=6500>
<P>&nbsp;
<SYNC Start=7000>
<P>Frames, at 25fps.
<SYNC Start=8480>
<P>&nbsp;
<SYNC Start=9000>
<P><font color="#FF0000">Half-open</font> and Tom &amp; Jerry.
<SYNC Start=11000>
<P>&nbsp;
</BODY>
</SAMI>

Bu, gerçek dosyalarda karşılaşılan hasardır: BOM, Windows satır sonları, boş bırakılmış alanlar. Hiçbiri işlemi durdurmaz; okunamayan bölümler sessizce kaybolmaz, raporda görünür.

Sık sorulan sorular

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

Replik metni, sırası ve zaman çizelgesi TTML’den SMI’ya 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; SAMI’de aynı an <SYNC Start=1250> bloğuyla başlar. Bununla birlikte kalın ve italik dışındaki biçimlendirme düşer (renk, kontur, gölge, kenar boşlukları); replik dışındaki içerik düşer: prolog ve <head> bölümü.

TTML’de zaman kodu SMI’da nasıl yazılır?

TTML’de bir an begin="00:00:01.250" diye yazılır; SMI’da aynı an <SYNC Start=1250> olur. SAMI’de replik, bir sonraki <SYNC> bloğuna kadar ekranda kalır.

TTML’de renkler ve konturlar SMI’da kalır mı?

TTML’den SMI’ya geçişte renkler ve konturlar kalmaz. SMI 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ı SMI’ya dönüştürdükten sonra onu hangi oynatıcılar açar?

TTML dosyasından üretilen SMI dosyasını şu araçlar açar: SAMI, Windows Media Player ve eski televizyon yazılımlarında yaygındı; bugün VLC ve bazı oynatıcılar da okur.

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

Çıkarmaz. TTML dosyası okunurken BOM ve karışık satır sonları temizlenir, SMI çı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 SMI’ya 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 SMI çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.

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

TTML → SMI → TTML gidiş-dönüşünde şunlar geri gelmez: renk ve kontur, 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