Konversi SSA ke CSV
Atau tempel teks subtitle
Apa yang berubah dalam konversi ini
4 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)
- 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 SubStation Alpha ditulis sebagai lembar kerja: kolom start, end, dan text, satu event Dialogue per baris. SSA memperlakukan subtitle sebagai teks yang digambar mesin render — tabel gaya V4, kode penempatan, dan timing karaoke — sedangkan CSV hanya punya tiga kolom, jadi hanya waktu dan kata-kata yang bisa dibawa.
Empat hal hilang: styling, positioning, karaoke, dan isi khas format. Styling karena jenis huruf dan warna tidak punya kolom; positioning karena posisi di layar tidak bisa dinyatakan; karaoke karena pembagian per suku kata tidak punya tempat; isi khas format karena [Script Info], baris Comment:, dan bagian [Fonts] serta [Graphics] berada di luar cue. Daftar di atas dihitung dari kemampuan kedua format, bukan dari file Anda.
Waktu mulai dan selesai sama-sama ditulis, dan teks yang memuat koma atau baris baru diberi tanda kutip sesuai standar CSV, sehingga tabel ini bisa diurutkan dan dihitung tanpa kehilangan timeline. Satu file atau satu musim, semuanya di peramban, hasil dalam satu ZIP.
Contoh
File SSA biasa, dikonversi ke CSV
Masukan
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[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: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
Keluaran
start,end,text
00:00:01.000,00:00:04.000,Hello there.
00:00:05.000,00:00:08.000,<i>Italic</i> line.
00:00:09.000,00:00:12.000,"Two
lines"
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]
Title: Dirty SSA
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
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.Keluaran
start,end,text
00:00:01.000,00:00:04.000,<b>Bold</b> and <u>underlined</u>.
00:00:05.000,00:00:08.000,"A soft
break and a {\p1}mystery{\p0} code."
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
Apakah tebal dan miring bertahan saat SSA dikonversi ke CSV?
Tidak sebagai styling. CSV hanya punya kolom start, end, dan text, jadi rentang tebal atau miring dari kode override tidak bisa dideskripsikan di kolom mana pun dan tidak diubah menjadi kolom tambahan.
Apa yang terjadi pada posisi di layar dari SSA ke CSV?
Posisi dibuang. Kode seperti \pos(320,240) atau \an7 adalah instruksi kepada renderer, dan CSV tidak punya renderer maupun kolom posisi. Konverter tidak menyelipkannya ke teks sebagai markup palsu.
Apa yang terjadi pada timing karaoke dari SSA ke CSV?
Hilang. Karaoke SSA membagi baris menjadi suku kata dengan waktu masing-masing; CSV hanya mencatat satu waktu mulai dan satu waktu selesai per cue, sehingga pembagian itu tidak punya tempat dan tidak direkonstruksi.
Apa yang terjadi pada blok [Script Info] dan sisa skrip SSA di CSV?
Semuanya dibuang. [Script Info] adalah konfigurasi skrip, Comment: adalah catatan, dan [Fonts] serta [Graphics] adalah lampiran renderer. Tidak ada yang bisa dinyatakan sebagai baris start, end, dan text.
Seperti apa keluaran saat SSA menjadi CSV?
Tabel CSV dengan baris judul start, end, dan text. Setiap event Dialogue dari skrip SSA menjadi satu baris tabel, dengan stempel waktu bertitik dan teks berkutip bila perlu.
Apakah waktu SSA tetap persis di file CSV?
Ya, sampai milidetik. SSA menyimpan waktu dalam perseratus detik, dan nilai itu ditulis sebagai milidetik tanpa pembulatan tambahan di arah ini; digit milidetik terakhir diisi nol.
Bagaimana cue SSA dua baris keluar di CSV?
Sebagai satu baris dengan pemisah baris di dalam sel berkutip. Kode baris baru SSA diterjemahkan menjadi baris baru biasa, sehingga kedua bagian tetap terpisah saat sel dibuka di spreadsheet.
Apakah urutan cue SSA tetap di keluaran CSV?
Ya. Baris tabel diurutkan menurut waktu mulai, jadi event SSA yang tidak kronologis keluar dalam urutan yang bisa dihitung.
Bisakah CSV hasil konversi SSA ini diubah kembali menjadi SSA?
Bisa lewat halaman CSV ke SSA, tetapi arah balik tidak memulihkan yang sudah hilang: styling, positioning, karaoke, dan isi khas format tetap tidak ada. Yang kembali adalah cue dengan waktu dan teks.
Apakah keluaran CSV mempertahankan encoding file SSA saya?
Tidak — hasil selalu UTF-8, akhir baris Unix, tanpa byte-order mark. File SSA lama sering memakai encoding satu byte Windows, dan file seperti itu didekode saat dibaca lalu ditulis ulang sebagai UTF-8.