TTML’den CSV’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.
Bu dönüştürücü TTML dosyasını tarayıcıda okuyup CSV biçiminde yeniden yazar. TTML’de 1,25 saniye begin="00:00:01.250" diye yazılır; CSV’de aynı an 00:00:01.250 olur. Satır sonları ve metin olduğu gibi geçer.
Kayıp listesi kısa ama gerçek: 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ü. CSV çıktısında start, end ve text sütunları vardır; zamanlar noktalı, çok satırlı metin tırnak içinde yazılır. 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 CSV’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ı
start,end,text
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: 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.
Aynı dönüştürme, dağınık bir girdi üzerinde
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 & Jerry.</p>
</div>
</body>
</tt>
Çıktı
start,end,text
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."
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 CSV dosyasına dönüştüğünü, anlaşılmayan her şeyin ise raporda sayıldığını görün.
Sık sorulan sorular
TTML dosyası CSV olurken metin ve zamanlama yerinde kalır mı?
Replik metni, sırası ve zaman çizelgesi TTML’den CSV’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; CSV’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 CSV’de nasıl yazılır?
TTML’de bir an begin="00:00:01.250" diye yazılır; CSV’de aynı an 00:00:01.250 olur.
TTML’de yazı tipi, renk ve kontur CSV’ye geçer mi?
TTML’den CSV’ye geçişte yazı tipi, renk ve kontur korunmaz. CSV 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ı CSV’ye dönüştürdükten sonra onu hangi oynatıcılar açar?
TTML dosyasından üretilen CSV dosyasını şu araçlar açar: CSV dosyası Excel, Google E-Tablolar ve altyazı platformlarının içe aktarma araçlarında açılır.
BOM ve CRLF içeren bir TTML dosyası CSV’ye dönüşürken sorun çıkarır mı?
Çıkarmaz. TTML dosyası okunurken BOM ve karışık satır sonları temizlenir, CSV çı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 CSV’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 CSV çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.
CSV dosyasını yeniden TTML’ye dönüştürürsem aynı dosyayı elde eder miyim?
TTML → CSV → 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.