Timed Text Markup Language

BukaSimpanXMLStyled

XML W3C untuk subtitle dan caption, dan yang diminta penyiar serta layanan streaming. DFXP adalah nama profil pertamanya, dan banyak berkas masih membawa nama itu. IMSC, EBU-TT-D dan iTT Apple juga TTML, masing-masing dengan kebiasaannya sendiri.

Sekilas

Ekstensi.ttml
Tipe mediaapplication/ttml+xml
SpesifikasiW3C, Timed Text Markup Language 1 (TTML1), sebuah Recommendation. TTML2 memperluasnya; IMSC dan EBU-TT-D adalah subset untuk distribusi.
Ketelitian waktuBebas: pecahan detik, frame, atau tick
Encoding teksDinyatakan dalam XML. Hampir selalu UTF-8.
GayaGaya bernama dan atribut tts:: font, ukuran, warna, latar belakang, miring, tebal, garis bawah, coret, garis tepi
PosisiRegion: kotak yang ditempatkan dan diatur ukurannya di mana saja pada gambar
PembicaraAgen (ttm:agent), dinamai di bagian head
Dalam kontainerMP4 sebagai stpp (ISO/IEC 14496-30), dalam aliran DASH, CMAF dan HLS

Anatomi berkas

Dokumen XML: bagian head yang menamai gaya dan region, dan bagian body berisi paragraf, satu untuk setiap subtitle.

<tt xml:lang="en" …>
<head>styles, regions</head>
<body><div>
<p begin="00:00:23.000"
   end="00:00:24.500">
You're a jerk,<br/>Thom.</p>
</div></body>
</tt>
  1. 1 · Root

    <tt>, dengan namespace TTML, bahasanya, dan jam yang menjadi acuan waktu: ttp:frameRate, ttp:tickRate.

  2. 2 · Head

    Gaya bernama, region layar, dan siapa yang berbicara.

  3. 3 · Waktu

    begin setiap paragraf, dan end atau dur-nya.

  4. 4 · Teks

    Subtitlenya. Span menata sebagian teks, dan <br/> memisahkan baris.

Waktu

TTML menulis waktu dengan lebih banyak cara dibanding format subtitle lain:

Ditulis sebagai Artinya
00:00:23.500 Jam, menit, detik dan pecahan
00:00:23:12 Frame setelah detik: dua belas pada ttp:frameRate berkas
23.5s, 23500ms, 1h Offset dalam jam, menit, detik atau milidetik
564f Frame
235000000t Tick, sebanyak ttp:tickRate per detik

Waktu dihitung dari elemen yang memuatnya. begin sebuah paragraf dihitung dari awal <div> dan <body>-nya, dan paragraf tanpa end sendiri berakhir bersama elemen tersebut.

Gaya

Gaya adalah sekumpulan atribut tts:. Teks menerimanya secara berurutan: dari region-nya, lalu dari body, div, paragraf dan span di sekitarnya. Setiap elemen menerima gaya yang disebutnya (style="s1 s2", dan yang disebut oleh gaya tersebut), lalu atributnya sendiri.

Atribut Efek Di Subtitld
tts:fontStyle="italic" Miring Dipertahankan
tts:fontWeight="bold" Tebal Dipertahankan
tts:textDecoration="underline", "lineThrough" Garis bawah, coret Dipertahankan
tts:color Warna teks: nama, #rrggbb, #rrggbbaa atau rgb() Dipertahankan, tanpa transparansinya
tts:displayAlign, tts:textAlign Letak teks di dalam region-nya Dipertahankan, sebagai satu dari sembilan posisi
tts:fontFamily, tts:fontSize Font dan ukuran Tidak dipertahankan
tts:backgroundColor, tts:textOutline Kotak di belakang teks, garis tepi Tidak dipertahankan
<set> Gaya yang berubah seiring waktu Tidak dipertahankan

Region

Region adalah kotak pada gambar, ditempatkan oleh tts:origin dan diatur ukurannya oleh tts:extent. Di dalamnya, tts:displayAlign menempatkan teks di atas, tengah atau bawah (before, center, after), dan tts:textAlign ke satu sisi atau tengah.

<region xml:id="top"
        tts:origin="10% 10%"
        tts:extent="80% 80%"
        tts:displayAlign="before"/>

Subtitld menghitung di mana teks jatuh, apakah region diukur dalam persen, piksel atau sel, dan mengambil yang terdekat dari sembilan posisi yang dinamai {\an1} sampai {\an9} di SubRip. Saat menulis berkas, setiap posisi yang dipakai menjadi region dengan nama tersebut: bottom, top, top-left…

Saat berkas tidak menyebutkannya. Bawaan TTML menempatkan teks di pojok kiri atas region-nya, tetapi pemutar menampilkannya di bawah dan di tengah, dan Subtitld mengikuti hal yang sama. Subtitld juga membaca textAlign="start" pada region tanpa ukuran atau posisi sebagai rata tengah: berkas yang ditulis dengan pycaption, termasuk Subtitld versi lama, menaruhnya di setiap region.

Profil

Sebagian besar TTML ditulis dengan sebuah profil: subset bahasa, dengan aturannya sendiri. Subtitld membaca masing-masing sebagai TTML.

Profil Dipakai di Kebiasaannya
DFXP Profil pertama TTML, dan ekstensi .dfxp Berkas lama dalam namespace http://www.w3.org/2006/10/ttaf1
IMSC 1 Streaming lewat DASH, CMAF dan HLS Profil W3C untuk subtitle dan caption daring
EBU‑TT‑D Pemutar daring penyiar Eropa Elemen sering ditulis dengan awalan: <tt:p>
SMPTE‑TT Caption televisi Amerika secara daring Tambahan SMPTE, untuk caption yang dibawa dari siaran
iTT (.itt) Pengiriman ke iTunes Store dan Apple TV Waktu dalam frame (ttp:timeBase="smpte")

TTML di Subtitld

Tersimpan di .ttml
  • Teks dan pemisah baris setiap subtitle
  • Miring, tebal, garis bawah, coret, dan warna
  • Posisinya di layar
  • Pembicara, sebagai agen
  • Waktu mulai dan selesai, hingga milidetik, berurutan
Tidak ada tempatnya
  • Font, ukuran, latar belakang dan garis tepi per baris
  • Ukuran dan letak tepat sebuah region
  • Gaya yang berubah seiring waktu, ruby, subtitle gambar
  • Terjemahan di samping yang asli, dubbing, wajah pembicara

Simpan proyek .usfx untuk menyimpan apa yang menjadi milik Subtitld.

Membuka berkas TTML

Subtitld membuka .ttml, .dfxp, .itt dan .xml, dan:

  • membaca TTML apa pun bentuknya: dalam namespace-nya, dalam namespace DFXP lama, atau dengan tt: di depan setiap elemen;
  • membaca setiap bentuk waktu, masing-masing dihitung dari div dan body tempatnya berada;
  • mengikuti gaya sebagaimana TTML menerapkannya, mempertahankan miring, tebal, garis bawah, coret, dan warna apa pun selain putih;
  • menempatkan setiap subtitle di tempat region-nya menampilkannya;
  • mengambil agen sebagai pembicara, siap untuk dubbing, dan xml:lang berkas sebagai bahasa proyek;
  • membaca encoding yang dinyatakan berkas, dan entitas HTML seperti &nbsp;.

Berkas yang bukan XML well-formed akan dibuka dengan pesan yang menyebutkan baris dan kolomnya. Berkas yang sama sekali bukan TTML akan diberi tahu demikian.

Mengekspor TTML

Dialog ekspor Subtitld dengan TTML dipilih dan pembicara ditulis sebagai agen

Export, lalu Subtitle dan TTML atau DFXP, menawarkan:

  • TeksYang asli, terjemahan, atau keduanya, dengan terjemahan di bawah.
  • Nama pembicaraDihilangkan, ditulis sebelum teks (Thom: …), atau sebagai agen (ttm:agent), cara asli TTML.
  • PemformatanDipertahankan, atau dihapus.
  • Geser waktuSetiap subtitle dimajukan atau dimundurkan dengan selisih yang sama.
  • LookPutih dengan garis tepi hitam, atau seperti yang digambar pratinjau Subtitld: font, warna dan kotak transparannya.

Berkas adalah TTML 1 dalam UTF-8. Waktu ditulis sebagai 00:00:23.000, setiap posisi subtitle sebagai region, pemformatan sebagai span, dan pemisah baris sebagai <br/>. xml:lang-nya adalah bahasa teks yang dimuatnya. TTML dan DFXP menghasilkan berkas yang sama; hanya ekstensinya yang berbeda.

TTML atau WebVTT?

WebVTT untuk <track> di halaman web: peramban membacanya sendiri. TTML untuk penyiar, untuk layanan streaming yang memintanya, dan untuk pemutar yang membacanya, seperti dash.js dan Shaka Player. Halaman WebVTT memuat sisanya.

Tahukah Anda

2010

TTML 1.0 menjadi W3C Recommendation pada November 2010, setelah draf-draf yang dinamai dari profil pertamanya: Distribution Format Exchange Profile, DFXP.

ttaf1

Namespace lama, http://www.w3.org/2006/10/ttaf1, berasal dari draf 2006, ketika TTML bernama Timed Text Authoring Format. Berkas-berkas masih membawanya.

Emmy

Pada 2016 W3C menerima Technology & Engineering Emmy untuk TTML, bersama HBO, Netflix, Telestream dan SMPTE.

Format terkait

Ada .ttml yang perlu diperbaiki?

Buka di Subtitld bersama videonya, lalu atur waktunya pada bentuk gelombang.

Unduh Subtitld