Konversi ASS ke MicroDVD
Atau tempel teks subtitle
Opsi
Frame rate yang dipakai untuk menghitung waktu. Di halaman format, inilah yang dibutuhkan MicroDVD, karena format itu menyimpan waktu sebagai nomor frame. Di halaman frame rate, ini adalah laju yang dipakai saat file diberi waktu — versi tempat subtitle dibuat — dan kotak kedua di halaman tersebut menerima laju video yang akan Anda gunakan bersama subtitle ini. 23,976, 24, 25, 29,97, 30, 50, 59,94, dan 60 adalah nilai yang umum. Nilai yang salah akan menggeser seluruh timeline, dan di halaman frame rate pergeserannya berupa rasio, bukan jumlah tetap.
Apa yang berubah dalam konversi ini
5 hal dihapus atau memerlukan keputusan
- Pemformatan
seluruh pemformatan (tebal, miring, warna, garis tepi, bayangan)
- Posisi
posisi di layar (setiap cue kembali ke posisi bawaan)
- Karaoke
timing karaoke (penyorotan per suku kata)
- Frame rate
format ini menyimpan waktu sebagai nomor frame — waktunya bergantung pada frame rate yang Anda berikan
- 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 ditulis sebagai MicroDVD, format yang menyimpan subtitle sebagai pasangan nomor frame. Karena itu konversi membutuhkan frame rate: pada 25 fps — nilai bawaan halaman ini — 0:00:04.00 berarti frame 100. Nilai yang salah hampir tidak terlihat di awal dan makin melenceng semakin panjang videonya, jadi isi dengan frame rate video tujuan.
Baris pertama hasilnya mendeklarasikan frame rate dalam bentuk {1}{1}25, dan setiap event Dialogue menjadi {mulai}{selesai}teks. Cue dua baris digabung dengan tanda pipa, cara MicroDVD menulis baris baru. Lima hal hilang: styling, positioning, karaoke, frame rate, dan isi khas format. Styling, positioning, dan karaoke karena MicroDVD hanya menyimpan teks dan nomor frame; frame rate karena angka yang Anda pilih hanya menjadi satu deklarasi, bukan bagian dari setiap cue; isi khas format karena [Script Info], Comment:, [Fonts], dan [Graphics] tidak punya tempat.
Satu file atau satu musim, antrean bisa dihentikan, hasil dalam satu ZIP, dan tidak ada yang diunggah.
Contoh
File ASS biasa, dikonversi ke MICRODVD
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
{1}{1}25
{25}{100}Hello there.
{125}{213}Italic and bold text.
{225}{300}Positioned
{325}{400}karaoke
{425}{500}Line one|Line two
{525}{600}Top left
Yang hilang pada hasil ini: styling, positioning, karaoke, frame rate, 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
{1}{1}25
{25}{100}Hello, world
{125}{200}{\fad(300,300)}Unmodelled override
{225}{300}Both, wrong order
{325}{413}One decimal centisecond
{425}{500}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
Apa yang terjadi pada tebal, miring, dan warna dari ASS ke MICRODVD?
Semuanya hilang. MicroDVD menyimpan teks dan dua nomor frame; tidak ada kolom untuk gaya, jadi kode override ASS seperti tebal, miring, atau warna tidak diterjemahkan dan teksnya keluar polos.
Apa yang terjadi pada posisi di layar dari ASS ke MICRODVD?
Posisi dibuang. Kode seperti \pos(320,240) atau \an7 adalah instruksi penempatan, sedangkan MicroDVD hanya tahu teks mana tampil di antara dua frame. Konverter tidak menyelipkan posisi sebagai markup di teks.
Apa yang terjadi pada timing karaoke dari ASS ke MICRODVD?
Hilang. Karaoke membagi baris menjadi suku kata dengan waktu masing-masing, sedangkan MicroDVD punya satu pasangan frame per baris. Suku kata tetap ada sebagai teks, tetapi sorotan bertiming tidak bisa dinyatakan.
Frame rate berapa yang harus saya isi untuk konversi ASS ke MICRODVD?
MicroDVD menyimpan subtitle sebagai nomor frame, jadi frame rate-lah yang mengubah waktu ASS menjadi frame: pada 25 frame per detik, empat detik adalah frame 100. Isi sesuai frame rate video tujuan, karena nilai yang salah makin melenceng seiring durasi.
Apa yang terjadi pada blok [Script Info] dan bagian lain skrip ASS di MicroDVD?
Semuanya dibuang. [Script Info] adalah konfigurasi skrip, Comment: adalah catatan penulis, dan [Fonts] serta [Graphics] adalah lampiran untuk renderer. MicroDVD tidak punya struktur untuk menampungnya, jadi tidak ada yang disalin ke baris cue.
Seperti apa keluaran saat ASS menjadi MICRODVD?
Seperti MicroDVD: baris pertama mendeklarasikan frame rate, lalu setiap event Dialogue menjadi {mulai}{selesai}teks. Tidak ada tabel gaya, tidak ada header skrip, dan tidak ada nomor cue.
Bagaimana cue ASS dua baris keluar di MICRODVD?
Cue ASS dua baris ditulis sebagai satu cue MicroDVD dengan tanda pipa di tengahnya. Tanda itu pengganti baris baru, sehingga kedua bagian tetap tampil bersama.
Apakah cue ASS tetap berurutan di keluaran MICRODVD?
Ya, dan cue diurutkan menurut waktu mulai. Urutan event di skrip bisa tidak kronologis; MicroDVD mengembalikannya ke urutan waktu.
Bisakah MICRODVD hasil konversi ASS ini diubah kembali menjadi ASS?
Bisa lewat halaman MICRODVD ke ASS, tetapi arah balik tidak memulihkan yang hilang: gaya, posisi, karaoke, dan isi khas format tetap tidak ada. Yang kembali adalah cue dengan waktu hasil hitungan ulang frame.
Apakah keluaran MICRODVD mempertahankan encoding file ASS saya?
Tidak — hasil selalu UTF-8, akhir baris Unix, tanpa byte-order mark. File ASS berencoding lama didekode saat dibaca, dan panel hasil menandai bila terjadi konversi encoding.