Lompat ke konten utama
SubtitleMatrix

Konversi TTML ke TXT

Konversi formatTTML / DFXP
Atau tempel teks subtitle

Apa yang berubah dalam konversi ini

5 hal dihapus atau memerlukan keputusan

  • Waktu

    seluruh timeline (format keluaran tidak mencatat waktu sama sekali)

  • Pemformatan

    seluruh pemformatan (tebal, miring, warna, garis tepi, bayangan)

  • Posisi

    posisi di layar (setiap cue kembali ke posisi bawaan)

  • Pemisahan baris

    pemisahan baris (cue multi-baris akan disatukan menjadi satu baris)

  • Konten khusus format

    konten yang disimpan format sumber di luar cue-nya (blok non-cue, teks header, pengaturan per cue, event yang dikomentari) — format tujuan tidak punya tempat untuknya

Daftar ini berasal dari matriks kemampuan untuk kedua format ini, bukan dari file tertentu yang Anda muat. File tertentu bisa kehilangan lebih banyak jika memakai fitur yang diizinkan format tetapi tidak dimodelkan matriks.

Halaman ini mengubah TTML menjadi TXT. File bisa diseret ke jendela ini atau teksnya ditempel; hasilnya adalah versi TXT. Semua proses berjalan di peramban, tanpa unggahan dan tanpa akun.

Kedua format ini tidak menyimpan hal yang sama, dan perbedaannya bukan sekadar kosmetik: timing, gaya, posisi, pemisah baris, dan konten khusus format tidak punya tempat di TXT. TTML adalah dokumen XML dengan namespace `tts:` untuk gaya dan `ttp:` untuk parameter profil: `<head>` mendeklarasikan gaya bernama di `<styling>` dan region di `<layout>`, sedangkan elemen `<p>` adalah subtitlenya dan waktu ditulis hingga milidetik. TXT hanya berisi teks, tanpa waktu maupun gaya. Daftar di atas berasal dari apa yang dapat diekspresikan masing-masing format, bukan dari file Anda, jadi jawabannya sama sebelum Anda memuat apa pun.

Anda bisa memasukkan satu file atau satu musim penuh; antrean bekerja berurutan, dan semua hasil turun bersama dalam satu ZIP.

Contoh

File TTML umum, dikonversi ke TXT

Masukan

<?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>

Keluaran

Hello there.
How are you?
Fine, thanks.

Yang hilang pada keluaran ini: timing, gaya, posisi, pemisah baris, dan konten khusus format. Sisanya cocok baris demi baris.

Konversi yang sama pada input berantakan

Masukan

<?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>

Keluaran

Loaded from an offset and a duration.
A coarser clock spelling.
Frames, at 25fps.
Half-open and Tom &amp; Jerry.

Inilah jenis kerusakan yang ada pada file nyata — byte-order mark, akhir baris Windows, namespace yang tidak dikenal, atau atribut waktu yang tidak terbaca. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.

Pertanyaan yang sering diajukan

Ke mana timecode TTML pergi?

TXT tidak punya waktu untuk diberikan: ekspor teks adalah kata-kata, bukan momen. Urutan baris TTML dipertahankan, jadi baris keempat puluh file Anda adalah baris keempat puluh di sini, tetapi tidak ada yang dalam keluaran mengatakan kapan bagian mana pun muncul di layar.

Apa yang terjadi pada tebal, miring, dan warna dari TTML ke TXT?

TXT tidak menyimpan gaya apa pun, jadi ketika TTML menjadi TXT semuanya hilang: `<span tts:color="…">` di dalam paragraf, atau gaya bernama dari tabel `<styling>` yang dirujuknya — tidak ada yang punya tempat, dan setiap baris ditulis sebagai teks biasa. Kata-katanya sendiri tidak disentuh.

Apa yang terjadi pada posisi di layar dari TTML ke TXT?

TXT tidak dapat menyatakan di mana subtitle digambar, jadi rujukan posisi yang dibawa setiap cue dibuang saat keluar dari TTML, dan setiap cue kembali ke posisi bawaan yang dipilih pemutar — umumnya bagian bawah bingkai dan di tengah.

Apa yang terjadi pada cue TTML dua baris di TXT?

Kedua baris dari TTML ditulis, satu di bawah yang lain, tetapi file berhenti menyatakan bahwa keduanya satu kesatuan: TXT tidak dapat mengelompokkan baris menjadi satu cue, sehingga membacanya kembali akan menghasilkan dua subtitle padahal file sumber punya satu. Itu penting bila pemeriksaan ejaan atau alat retime akan membaca file itu nanti.

Apa yang terjadi pada prolog TTML serta tabel `<styling>` dan `<layout>` di TXT?

Dibuang. File TTML menyimpan tampilan dan tata letaknya di head, bukan di kata-kata: deklarasi XML dan pengikatan namespace-nya, tabel `<styling>` berisi gaya bernama (`tts:color`, `tts:fontWeight`), tabel `<layout>` berisi region bernama (`tts:origin`, `tts:extent`), `<metadata>` apa pun, dan atribut `style` / `region` yang dipakai `<p>` untuk merujuknya. TXT menyimpan cue, bukan dokumen, jadi tidak ada bagian dari head itu yang punya tempat mendarat. Pemformatan yang ditulis di dalam paragraf adalah hal lain — `<span tts:fontStyle="italic">` adalah penekanan pada kata-kata, dan ditulis dengan markup TXT sendiri sejauh TXT memilikinya.

Seperti apa keluarannya ketika TTML menjadi TXT?

Keluaran TXT disusun seperti TXT — tanpa nomor cue dan tanpa timecode — satu baris teks per baris subtitle. Cue yang di TTML ditulis `00:00:04.126` menjadi baris teks di TXT, dalam urutan yang sama, dan tidak ada kata yang berubah.

Apakah cue TTML mempertahankan urutannya di keluaran TXT?

Ya. Cue keluar dalam urutan waktu mulai, paling awal dulu, karena semua format di sini mengharapkan urutan itu dan pemutar membacanya begitu. File TTML yang cue-nya tidak berurutan akan dirapikan di keluaran TXT; itu perubahan struktur yang disengaja, bukan perubahan isi.

Bisakah TXT dikonversi balik ke TTML?

Ya, dan arah itu punya daftarnya sendiri: mengonversi TXT ke TTML menghilangkan timing. Daftar itu berbeda dari daftar di atas karena kedua format menyimpan hal yang berbeda.

Apakah keluaran TXT mempertahankan encoding file TTML?

Tidak — keluarannya UTF-8, dengan akhir baris Unix dan tanpa byte-order mark, apa pun yang dipakai file TTML. File yang datang dalam UTF-16 atau encoding satu-byte Windows didekode saat masuk (panel hasil memberi tahu bila itu terjadi); yang keluar selalu TXT UTF-8 yang sama.

Alat terkait