Konversi ASS ke SSA
Atau tempel teks subtitle
Apa yang berubah dalam konversi ini
Tidak ada yang hilang ke arah ini — setiap fitur format sumber punya tempat di format tujuan.
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.
ASS dan SSA adalah dua dialek dari bahasa skrip yang sama. Yang lebih baru, Advanced SubStation Alpha, menyatakan dirinya sebagai ScriptType v4.00+ dan menyimpan gaya di bagian V4+; yang asli menyatakan v4.00 dan menyimpannya di bagian V4. Baris Dialogue, kode override, dan notasi waktunya sama, jadi konversi ini menulis ulang header, bukan menerjemahkan subtitle.
Pekerjaannya ada di tabel gaya, karena kolomnya berbeda antardialek. Yang paling terlihat adalah kolom warna: V4+ punya kolom terpisah untuk garis tepi dan bayangan, sedangkan V4 menyebutnya tertiary dan back. Konverter membaca file menurut daftar kolom yang dideklarasikannya, lalu menulis daftar kolom yang diharapkan dialek tujuan, membawa setiap nilai ke kolom yang cocok. Judul bagian dan jenis skrip yang dideklarasikan juga diperbarui, karena file yang mengaku v4.00+ sementara memakai kolom V4 ditolak banyak renderer.
Tidak ada yang berubah pada waktu dan teks Anda, dan konversi berlangsung sepenuhnya di peramban Anda.
Contoh
File ASS biasa, dikonversi ke SSA
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
[Script Info]
Title: Example
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,0,0,1,2,2,2,10,10,10,,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,,&H00000000,-1,0,1,2,2,2,10,10,10,,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: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: 0,0:00:21.00,0:00:24.00,Default,,0,0,0,,Top left
Tidak ada yang hilang di sini: bandingkan kedua sisi 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
[Script Info]
Title: Dirty sample
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,-1,0,1,2,2,2,10,10,10,,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, 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,,{\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.50,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\Nbreak
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 sebenarnya yang berbeda antara ASS dan SSA?
Keduanya berbagi baris Dialogue, kode override, dan notasi waktu; yang berbeda adalah dialek header dan tabel gayanya. ASS mendeklarasikan v4.00+ dengan bagian V4+, sedangkan SSA mendeklarasikan v4.00 dengan bagian V4, dan daftar kolom gaya keduanya tidak sama.
Apakah warna garis tepi ASS bertahan saat dikonversi ke SSA?
Ya, nilainya dibawa ke kolom yang setara di dialek tujuan. V4+ punya kolom outline terpisah, sedangkan V4 menyebutnya tertiary; konverter memetakan nilainya ke kolom yang benar sehingga warna yang terlihat tetap sama.
Apakah hasil ASS ke SSA masih bisa diputar di pemutar lama?
Itulah gunanya konversi ini. File ditulis dengan ScriptType v4.00 dan bagian V4, daftar kolom yang diharapkan pemutar lama. File yang tetap mengaku v4.00+ sambil memakai kolom V4 justru sering ditolak.
Apakah waktu atau teks ASS berubah saat menjadi SSA?
Tidak. Timeline, teks, dan urutan cue tidak berubah — konversi ini hanya menulis ulang header dan tabel gaya. Nilai waktu yang Anda lihat di skrip adalah nilai yang keluar.
Bagaimana bila file ASS memakai kolom dari dialek SSA?
Konverter memakai daftar kolom yang dideklarasikan file, bukan daftar yang diasumsikan. Nilai dibawa ke kolom yang cocok di tujuan, dan bila ada kolom yang tidak dikenal, itu dilaporkan alih-alih dibuang diam-diam.