Langsung ke konten
Free Subtitle Converter
Bahasa
Tema warna
Dukung kami

Penjelasan subtitle XML: TTML, DFXP, dan IMSC

Apa itu file subtitle TTML, DFXP, dan IMSC, cara kerja waktunya, dan apa persisnya yang dibaca dan dilewati konverter situs ini dari file tersebut.

Oleh Syed Peera Saheb · Diterbitkan

Jawaban singkatnya

TTML, DFXP, dan IMSC adalah file subtitle XML yang dibangun di atas Timed Text Markup Language dari W3C. DFXP adalah nama lama TTML, dan IMSC adalah salah satu profilnya yang digunakan untuk pengiriman streaming dan siaran.

Jika Anda memiliki file subtitle .ttml, .dfxp, atau .xml dan memerlukan SRT atau VTT, konverter di situs ini dapat membaca teks, waktu, jeda baris, serta huruf miring, tebal, dan garis bawahnya. Konverter tidak mempertahankan posisi, warna, atau font, dan tidak dapat membaca setiap file XML yang berisi subtitle.

Satu keluarga, beberapa nama

TTML adalah standar W3C untuk teks berwaktu. Selama masih ditulis, format ini disebut DFXP, Distribution Format Exchange Profile, dan spesifikasi TTML 1 masih mencatat bahwa nama lama itu tetap dipakai di nama profil dan ekstensi file. Dalam praktiknya, file .dfxp dan file .ttml berisi jenis dokumen yang sama. TTML2 adalah versi kedua dan menambahkan lebih banyak fitur.

Karena TTML sangat luas, berbagai industri mendefinisikan profil: subset yang menentukan fitur mana yang boleh digunakan sebuah file. IMSC, profil Internet Media Subtitles and Captions, adalah salah satu yang paling umum. Versi terbarunya mendefinisikan profil khusus teks dan profil khusus gambar. EBU-TT adalah profil yang digunakan penyiar Eropa, dan SMPTE-TT digunakan dalam penyiaran Amerika. Semuanya diawali dengan elemen root <tt>.

Seperti apa file TTML

Dokumen TTML memiliki head dan body. Head dapat mendefinisikan gaya, seperti font atau warna, dan region, yaitu area di layar. Body berisi paragraf, yaitu elemen <p>, masing-masing dengan waktu mulai dan selesai serta teks subtitlenya. <br/> memulai baris baru, dan elemen <span> memberi gaya atau waktu pada bagian dari sebuah baris.

File TTML pendek
<?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:tickRate="10000000">
  <head>
    <styling><style xml:id="it" tts:fontStyle="italic" tts:color="yellow"/></styling>
    <layout><region xml:id="top" tts:origin="10% 5%" tts:extent="80% 20%"/></layout>
  </head>
  <body>
    <div>
      <p begin="12000000t" end="35000000t" region="top">Hello<br/><span style="it">there</span></p>
    </div>
  </body>
</tt>

Cara kerja waktu TTML

TTML memungkinkan beberapa cara penulisan waktu. Waktu jam terlihat seperti 00:00:01.200, atau 00:00:01:05 dengan nomor frame di akhir. Waktu offset berupa angka dengan satuan: 1.2s, 1200ms, 30f untuk frame, atau 12000000t untuk tick. Tick umum ditemukan di file dari layanan streaming; atribut tickRate pada elemen root menyatakan berapa tick dalam satu detik, jadi dengan tick rate 10.000.000, 12000000t adalah 1,2 detik.

Waktu juga bisa relatif. Sebuah div dapat memiliki waktu begin sendiri yang ditambahkan ke paragraf di dalamnya, sebuah paragraf dapat memberikan durasi sebagai ganti waktu selesai, dan paragraf tanpa waktu dapat mengambilnya dari span-nya. Inilah sebabnya alat cari-dan-ganti sederhana sering salah menangani waktu TTML.

Apa yang dibaca situs ini

Konverter mengenali TTML dari elemen root <tt>, apa pun ekstensi filenya, jadi file .ttml, .dfxp, dan .xml semuanya dapat dibuka. Contoh di atas menjadi satu subtitle dari 1,2 hingga 3,5 detik dengan dua baris, baris kedua dalam huruf miring. Secara rinci, konverter membaca:

  • Waktu jam dengan pecahan detik atau frame, dan waktu offset dalam jam, menit, detik, milidetik, frame, dan tick.
  • Pengaturan frameRate, frameRateMultiplier, subFrameRate, dan tickRate pada elemen root. Tanpa tick rate, konverter menurunkannya dari frame rate, atau menggunakan satu tick per detik, sebagaimana dijelaskan dalam spesifikasi.
  • Begin, end, dan dur pada paragraf dan span, dengan waktu begin dari body dan div yang melingkupinya dijumlahkan.
  • Jeda baris ditulis sebagai <br/>.
  • Miring, tebal, dan garis bawah, baik yang diatur langsung pada elemen maupun melalui gaya bernama.
  • Elemen dengan prefiks namespace, seperti <tt:p> di EBU-TT dan sebagian file IMSC. Metadata, seperti catatan untuk editor, dilewati dan tidak pernah menjadi teks subtitle.

Yang dihilangkan

Konverter mempertahankan kata-kata dan waktu, lalu menghilangkan tampilan. Region dan posisi, warna, font, ukuran, latar belakang, garis tepi, dan pengaturan arah teks tidak dibawa. Jika sebuah file menampilkan dua paragraf bersamaan di region berbeda, misalnya dua pembicara di atas dan di bawah, keduanya menjadi dua subtitle yang tumpang tindih; pemeriksa subtitle akan menunjukkannya.

Sebagian file subtitle XML sama sekali bukan TTML, dan halaman akan menyatakan bahwa file tersebut tidak dikenali sebagai subtitle. Itu termasuk XML timedtext milik YouTube sendiri, yang elemen root-nya <timedtext> atau <transcript>, bukan <tt>. File IMSC berbasis gambar, yang menyimpan gambar teks, tidak berisi teks untuk dibaca. Mode waktu yang tidak biasa, seperti timecode drop-frame SMPTE, tidak ditangani secara khusus, jadi periksa beberapa subtitle di dekat akhir pratinjau terhadap videonya.

Yang ditulis

Saat Anda mengonversi ke TTML atau DFXP, konverter menulis dokumen TTML 1 sederhana: setiap subtitle menjadi paragraf dengan waktu jam begin dan end dalam milidetik, jeda baris menjadi <br/>, dan huruf miring, tebal, dan garis bawah menjadi span dengan atribut gaya yang sesuai. Tidak ada head dengan gaya atau region, jadi pemutar menggunakan tampilan default-nya. Opsi DFXP menulis dokumen yang sama dengan ekstensi .dfxp.

Atribut bahasa pada elemen root dibiarkan kosong, karena konverter tidak dapat mengetahui bahasa subtitle Anda. Sebagian platform mewajibkannya. Jika platform Anda mewajibkannya, buka file di editor teks dan isi xml:lang dengan kode seperti en atau es sebelum mengunggahnya.

File yang ditulis konverter dari contoh tersebut
<?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="">
  <body>
    <div>
      <p begin="00:00:01.200" end="00:00:03.500">Hello<br/><span tts:fontStyle="italic">there</span></p>
    </div>
  </body>
</tt>

Mengonversi TTML atau DFXP ke SRT atau VTT

Konversi hanya butuh beberapa detik, dan file tetap berada di perangkat Anda.

  • Buka konverter TTML ke SRT atau DFXP ke SRT, atau konverter utama, lalu pilih file .ttml, .dfxp, atau .xml Anda.
  • Periksa ringkasannya. Ringkasan menunjukkan berapa banyak subtitle yang ditemukan dan apakah ada paragraf dengan waktu yang tidak dapat dibaca.
  • Pilih format keluaran, seperti SRT atau VTT, dan periksa pratinjaunya.
  • Putar hasilnya bersama video Anda dan bandingkan subtitle di dekat awal dan di dekat akhir, untuk berjaga-jaga jika file menggunakan mode waktu yang tidak ditangani konverter.
  • Unduh file. File disimpan sebagai UTF-8.

Kapan menggunakan TTML, dan kapan tidak

Gunakan TTML atau DFXP jika platform, layanan streaming, atau penyiar memintanya; spesifikasi pengiriman mereka biasanya menyebutkan sebuah profil, dan file TTML 1 biasa belum tentu memenuhinya. Untuk penggunaan sehari-hari di pemutar, editor, dan platform video, SRT atau WebVTT lebih sederhana dan lebih banyak didukung. Jika Anda menerima file TTML dan hanya ingin menonton atau mengeditnya, konversikan ke SRT.

Bagaimanapun juga, simpan file aslinya. Konversi ke SRT menghilangkan region dan gaya secara permanen, jadi jika nanti Anda perlu mengirim TTML lagi dengan posisi aslinya, Anda akan membutuhkan file sumbernya, bukan file TTML yang dibuat ulang dari SRT.

Pertanyaan umum

Apakah DFXP sama dengan TTML? Secara praktis, ya. DFXP adalah nama yang digunakan saat TTML masih dirancang, dan konverter memperlakukan keduanya dengan cara yang sama.

Mengapa file .xml saya dinyatakan bukan file subtitle? Entah file itu bukan TTML, misalnya XML timedtext YouTube, atau tidak berisi elemen root <tt>. Konverter tidak membaca file semacam itu.

Apakah SRT hasil konversi mempertahankan posisi setiap subtitle? Tidak. SRT tidak memiliki cara standar untuk menempatkan subtitle, dan konverter tidak membawa region TTML ke format apa pun.

Buka konverter subtitle
Traktir saya kopi