Konversi ASS ke VTT
Atau tempel teks subtitle
Apa yang berubah dalam konversi ini
4 hal dihapus atau memerlukan keputusan
- Pemformatan
seluruh pemformatan kecuali tebal dan miring (warna, garis tepi, bayangan, margin)
- Posisi
posisi di layar (setiap cue kembali ke posisi bawaan)
- Karaoke
timing karaoke (penyorotan per suku kata)
- 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 skrip ASS diubah menjadi WebVTT. ASS adalah format yang dipakai rumah produksi subtitle untuk pekerjaan bergaya, dan ia membawa lebih banyak daripada yang bisa ditampung WebVTT, jadi arah ini lossy dan laporan di atas layak dibaca sebelum mengonversi.
Tebal dan miring bertahan — kode override {\b1} dan {\i1} menjadi tag <b> dan <i> WebVTT — tetapi sisa tabel gaya tidak: warna, garis tepi, bayangan, dan margin dibuang, bersama nama gaya itu sendiri. Penempatan di layar juga hilang, karena {\pos(320,240)} dan {\an7} tidak punya padanan di format yang penempatannya hanya berupa sekumpulan pengaturan cue yang terbatas. Timing karaoke juga tidak bisa bertahan; suku kata tetap ada sebagai bagian terpisah di teks, jadi kata-katanya masih di sana, tetapi sorotan yang membuatnya muncul satu per satu tidak.
Dua hal lain perlu diketahui. File ASS sering membawa bagian [Fonts] dan [Graphics], yang menanamkan font dan gambar yang dipakai skrip; keduanya lampiran untuk renderer, bukan subtitle, dan WebVTT tidak punya bagian seperti itu, jadi tidak dibawa. Kode override yang tidak dimodelkan konverter — misalnya {\fad} — dibiarkan di teks apa adanya alih-alih diterjemahkan setengah atau dibuang, sehingga tidak ada yang hilang diam-diam.
Masukan berantakan tidak masalah: byte-order mark, akhir baris Windows, baris komentar yang bukan subtitle, atau timecode dengan satu digit desimal semuanya dibaca tanpa keluhan. Satu file atau satu musim, antrean bisa dihentikan, hasil dalam satu ZIP.
Contoh
File ASS biasa, dikonversi ke VTT
Masukan
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, 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:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Keluaran
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:05.000 --> 00:00:08.500
<i>Italic</i> and <b>bold</b> text.
00:00:09.000 --> 00:00:12.000
Positioned
00:00:13.000 --> 00:00:16.000
<c>ka</c><c>ra</c><c>o</c><c>ke</c>
00:00:17.000 --> 00:00:20.000
Line one
Line two
00:00:21.000 --> 00:00:24.000
Top left
Yang hilang pada hasil ini: styling, positioning, karaoke, dan isi khas format. Sisanya sama baris demi baris.
Konversi yang sama pada input yang berantakan
Masukan
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeKeluaran
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello, world
00:00:05.000 --> 00:00:08.000
{\fad(300,300)}Unmodelled override
00:00:09.000 --> 00:00:12.000
Both, wrong order
00:00:13.000 --> 00:00:16.500
One decimal centisecond
00:00:17.000 --> 00:00:20.000
Soft
break
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 timing karaoke ASS saya hilang saat dikonversi ke VTT?
WebVTT tidak punya cara menyatakan waktu per suku kata di dalam satu cue; ia hanya menyimpan satu awal dan satu akhir. Suku kata dari skrip tetap ada sebagai teks, tetapi sorotan yang mengikutinya tidak bisa dibawa ke format yang tidak memilikinya.
Apakah tebal dan miring ASS bertahan saat menjadi VTT?
Ya. {1} dan {i1} diterjemahkan menjadi <b> dan <i> WebVTT, jadi rentang tebal dan miring di skrip tetap terbaca sebagai pemformatan. Yang tidak ikut adalah warna, garis tepi, bayangan, margin, dan nama gaya.
Apa yang terjadi pada subtitle ASS yang ditempatkan saat dikonversi ke VTT?
Penempatannya hilang. {\pos(320,240)} dan {\an7} mengatur tempat cue di layar, sedangkan WebVTT hanya punya sekumpulan pengaturan cue yang terbatas untuk perataan dan posisi. Koordinat ASS tidak dipetakan menjadi pengaturan itu, dan tidak diselipkan ke teks.
Ke mana bagian [Fonts] dan [Graphics] ASS pergi saat file menjadi VTT?
Keduanya tidak dibawa. Bagian itu berisi font dan gambar tertanam yang dipakai renderer ASS, bukan subtitle, dan WebVTT tidak punya bagian untuk menampung lampiran biner. File hasil karena itu lebih kecil, tetapi tampilan bergantung pada font yang tersedia di pemutar.
Apakah skrip ASS milik klien harus diunggah untuk dikonversi ke VTT?
Tidak. Konversi berjalan di tab peramban Anda, jadi skrip tidak dikirim ke mana pun. Tidak ada akun dan tidak ada log, dan setelah halaman termuat konversi bekerja tanpa jaringan.