Ana içeriğe geç
SubtitleMatrix

TTML’den SRT’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

    tüm biçimlendirme (kalın, italik, renk, kontur, gölge)

  • 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’den SRT’ye geçişte yalnızca sarmalayıcı değişir; altyazının kendisi değişmez. TTML’de 1,25 saniye begin="00:00:01.250" diye yazılır; SRT’de aynı an 00:00:01,250 olur. Repliklerin sırası ve metni korunur.

Bu yönde kaybedilenler şunlardır: biçimlendirmenin tamamı düşer (kalın, italik, renk, kontur, gölge); ekran konumu düşer; her replik varsayılan konuma döner; replik dışındaki içerik düşer: prolog ve <head> bölümü. SRT çıktısında her replik numara, zaman kodu ve metin olarak yazılır; zamanlar virgüllü ve milisaniye hassasiyetindedir.

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 SRT’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ı

1
00:00:01,000 --> 00:00:03,500
Hello <i>there</i>.

2
00:00:03,500 --> 00:00:06,000
How are you?
Fine, thanks.

Bu çıktıda düşenler: biçimlendirme 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ı, SRT çı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ı

1
00:00:01,500 --> 00:00:03,500
Loaded from an offset and a duration.

2
00:00:04,000 --> 00:00:06,500
A coarser clock spelling.

3
00:00:07,000 --> 00:00:08,480
Frames, at 25fps.

4
00:00:09,000 --> 00:00:11,000
<font color="#FF0000">Half-open</font> and Tom &amp; Jerry.

Gerçek dosyalar böyle gelir: karışık satır sonları, baştaki BOM, boş alanlar. Soldaki dağınık dosyanın sağda düzenli bir SRT dosyasına dönüştüğünü, anlaşılmayan her şeyin ise raporda sayıldığını görün.

Sık sorulan sorular

TTML’den SRT’ye dönüşümde ne korunur, ne değişir?

Replik metni, sırası ve zaman çizelgesi TTML’den SRT’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; SRT’de aynı an 00:00:01,250 olur. Bununla birlikte biçimlendirmenin tamamı düşer (kalın, italik, renk, kontur, gölge); 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 SRT’de nasıl yazılır?

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

TTML’de yazı tipi, renk ve kontur SRT’ye geçer mi?

TTML’den SRT’ye geçişte yazı tipi, renk ve kontur korunmaz. SRT yalnızca metni ve iki zamanı saklar; renk, kontur, gölge ve kenar boşlukları için dosyada bir alan yoktur. Metnin içindeki <b> ve <i> etiketleri metnin parçası sayıldığı için kalır, ama onlar da biçim değil, karakter dizisidir.

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

TTML dosyasından üretilen SRT dosyasını şu araçlar açar: VLC, mpv, çoğu televizyon yazılımı, YouTube ve hemen her video düzenleyici .srt dosyasını okur.

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

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

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

TTML → SRT → TTML gidiş-dönüşünde şunlar geri gelmez: biçimlendirme, 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