Lompat ke konten utama
SubtitleMatrix

Konversi VTT ke TTML

Konversi formatWebVTT (VTT)
Atau tempel teks subtitle

Apa yang berubah dalam konversi ini

1 hal dihapus atau memerlukan keputusan

  • 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.

Di halaman ini file WebVTT diubah menjadi TTML, format subtitle berbasis XML yang dipakai penyiaran dan platform streaming. Setiap cue menjadi elemen <p> dengan atribut begin dan end di dalam <body>, dan dokumen dibuka oleh deklarasi XML. Waktu ditulis 00:00:04.126 — sama persis sampai milidetik, hanya pemisahnya titik seperti di WebVTT.

Teks, pemisah baris, urutan cue, dan pemformatan inline semuanya bertahan: cue dua baris menjadi dua baris dengan <br/>, dan miring serta tebal dibawa sebagai elemen gaya. Satu hal hilang: isi khas format. Header WEBVTT, blok NOTE, STYLE, dan REGION, serta pengaturan setelah stempel waktu seperti align:start atau position:10% tidak punya padanan di TTML, jadi dibuang dan dicatat di laporan.

Pengenal cue juga tidak dipertahankan karena TTML mengurutkan subtitle lewat waktu. Satu file atau satu musim, antrean bisa dihentikan, hasil dalam satu ZIP, dan tidak ada yang keluar dari perangkat Anda.

Contoh

File VTT biasa, dikonversi ke TTML

Masukan

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

Keluaran

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there.</p>
<p begin="00:00:04.500" end="00:00:08.000">Second line with <span tts:fontStyle="italic">italics</span>.</p>  </body>
</tt>

Yang hilang pada hasil ini: isi khas format. Sisanya sama baris demi baris.

Konversi yang sama pada input yang berantakan

Masukan

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

Keluaran

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:02.000">No header, two lines before the timecode.</p>  </body>
</tt>

Ini jenis kerusakan yang nyata pada file asli — akhir baris campuran, spasi berlebih, kolom kosong. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.

Pertanyaan yang sering diajukan

Apa yang terjadi pada blok NOTE, STYLE, dan REGION milik VTT saat menjadi TTML?

Semuanya dibuang. TTML punya model gayanya sendiri — atribut dan elemen di dalam dokumen — yang tidak memetakan langsung ke aturan STYLE, komentar NOTE, atau wilayah REGION dari WebVTT. Konverter tidak mengarang padanan yang tidak dimengerti pemutar.

Seperti apa keluaran saat VTT menjadi TTML?

Seperti TTML: tanpa header WEBVTT, setiap subtitle adalah elemen <p> dengan atribut begin dan end, di dalam <body> dan biasanya <div>, dengan deklarasi XML di atasnya. Setiap cue VTT menjadi satu cue TTML, berurutan.

Apakah waktu VTT tetap persis di file TTML?

Ya, sampai milidetik. Kedua format menulis 00:00:04.126 dengan titik, jadi tidak ada pembulatan, pergeseran, atau perubahan resolusi. Cue yang tampil 2,9 detik tetap selama itu.

Bagaimana cue VTT dua baris keluar di TTML?

Kedua baris tetap dalam satu elemen <p>, dipisahkan <br/>. Itu cara TTML menyatakan baris baru keras, jadi pasangannya tidak pecah menjadi dua cue.

Apakah cue VTT tetap berurutan di keluaran TTML?

Ya. Cue diurutkan menurut waktu mulai sebelum ditulis, jadi file TTML selalu kronologis meskipun urutan di VTT berbeda.

Bisakah TTML hasil konversi VTT ini diubah kembali menjadi VTT?

Bisa lewat halaman TTML ke VTT, dan arah balik punya daftar sendiri: isi khas format TTML tidak bisa dipulihkan sebagai struktur WebVTT. Yang kembali adalah cue, waktu, dan teksnya.

Apakah keluaran TTML mempertahankan encoding file VTT saya?

Tidak. Keluarannya UTF-8 dengan akhir baris Unix dan tanpa BOM. Encoding VTT didekode saat dibaca, dan panel hasil mencatat bila ada konversi.

Alat terkait