Lompat ke konten utama
SubtitleMatrix

Konversi VTT ke SSA

Konversi formatWebVTT (VTT)
Atau tempel teks subtitle

Apa yang berubah dalam konversi ini

2 hal dihapus atau memerlukan keputusan

  • Presisi

    presisi waktu — jam keluaran lebih kasar, sehingga setiap stempel waktu dibulatkan ke 10 ms terdekat

  • 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 WebVTT diubah menjadi SubStation Alpha, versi pertama bahasa skrip yang kemudian menjadi ASS. Setiap cue menjadi baris Dialogue di bagian [Events], menunjuk ke satu gaya dalam tabel [V4 Styles], dan waktunya ditulis dalam notasi SSA: 0:00:01.23. Karena SSA menyimpan perseratus detik sementara WebVTT menyimpan milidetik, setiap stempel waktu dibulatkan ke 10 ms terdekat.

Teks, pemisah baris, dan urutan cue bertahan; miring dan tebal diterjemahkan menjadi kode override SSA, dan baris baru di dalam cue menjadi \N. Tabel gaya berasal dari konverter — satu gaya Default dengan Arial ukuran 20 dan garis tepi gelap — karena WebVTT tidak punya padanannya, dan Anda bisa menyuntingnya sesudahnya.

Dua hal hilang: presisi dan isi khas format. Header WEBVTT beserta komentarnya, blok NOTE, STYLE, dan REGION, serta pengaturan cue seperti align:start atau position:10% tidak punya tempat di SSA, karena penempatan di SSA ditulis dengan kode override di dalam teks dan konversi ini tidak mengarangnya untuk Anda.

Satu file atau satu musim, di peramban, tanpa unggah, hasil dalam satu ZIP.

Contoh

File VTT biasa, dikonversi ke SSA

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

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.

Yang hilang pada hasil ini: presisi dan 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

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,No header, two lines before the timecode.

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

Mengapa stempel waktu bergeser dari VTT ke SSA?

SSA menyimpan waktu dalam perseratus detik sedangkan WebVTT menyimpannya sampai milidetik. 00:00:01.234 karena itu menjadi 0:00:01.23, dengan pembulatan ke 10 ms terdekat. Pergeseran paling jauh 5 ms dan dicatat di laporan.

Apa yang terjadi pada blok NOTE, STYLE, dan REGION milik VTT di SSA?

Ketiganya dibuang. SSA tidak punya struktur setara untuk komentar, aturan tata letak, atau definisi wilayah di luar cue, jadi tidak ada tempat untuk menyimpannya dan tidak ada terjemahan yang dikarang.

Seperti apa keluaran saat VTT menjadi SSA?

Seperti SSA: tanpa header WEBVTT, setiap subtitle adalah baris Dialogue di bagian [Events], dengan satu gaya dari tabel [V4 Styles]. Setiap cue VTT menjadi satu cue SSA, berurutan.

Bagaimana cue VTT dua baris keluar di SSA?

Dua baris VTT dijadikan satu baris Dialogue SSA dengan \N di antaranya. Keduanya tetap satu subtitle, dan notasi \N itulah yang dibaca renderer sebagai pemisah baris keras.

Apakah cue VTT tetap berurutan di keluaran SSA?

Ya. Konverter mengurutkan cue menurut waktu mulai saat menulis skrip, sehingga event yang tadinya tidak kronologis di file VTT keluar rapi di SSA.

Bisakah SSA hasil konversi VTT ini diubah kembali menjadi VTT?

Bisa lewat halaman SSA ke VTT, dan arah balik punya daftar sendiri: isi khas format SSA serta presisi yang hilang tidak bisa dipulihkan. Yang kembali adalah cue, waktu hasil baca ulang skrip, dan teksnya.

Apakah keluaran SSA mempertahankan encoding file VTT saya?

Hasil SSA ditulis UTF-8 tanpa BOM; encoding asal tidak dipertahankan. Bila file VTT memakai UTF-16 atau encoding satu byte Windows, isinya didekode lebih dulu, lalu panel hasil menandai konversi itu.

Alat terkait