Konversi SSA ke SMI
Atau tempel teks subtitle
Apa yang berubah dalam konversi ini
3 hal dihapus atau memerlukan keputusan
- Pemformatan
seluruh pemformatan kecuali tebal dan miring (warna, garis tepi, bayangan, margin)
- 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 SSA ditulis sebagai SMI, format SAMI berbasis HTML yang dulu dipakai Windows Media Player. Setiap event Dialogue menjadi tag <SYNC Start=…> dengan teks di dalam <P>, dan karena setiap SYNC mengganti isi layar, tepat setelahnya ada blok <P> yang mengosongkannya lagi.
Waktu dibawa sampai milidetik — 0:00:04.12 menjadi Start=4120 — dan urutan cue mengikuti waktu mulai. Tiga hal hilang: styling, karaoke, dan isi khas format. Styling karena aturan tabel gaya SSA tidak diterjemahkan menjadi tag; karaoke karena pembagian per suku kata tidak punya padanan; isi khas format karena [Script Info], Comment:, [Fonts], dan [Graphics] berada di luar cue. Posisi di layar tidak masuk daftar itu, tetapi kode penempatan SSA tidak diterjemahkan menjadi koordinat SAMI yang setara; yang dipertahankan adalah teks dan waktunya.
Satu file atau satu musim, antrean bisa dihentikan, hasil dalam satu ZIP, dan seluruh proses berjalan di peramban.
Contoh
File SSA biasa, dikonversi ke SMI
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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P><i>Italic</i> line.
<SYNC Start=8000>
<P>
<SYNC Start=9000>
<P>Two<br>lines
<SYNC Start=12000>
<P>
</BODY>
</SAMI>
Yang hilang pada hasil ini: styling, 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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P><b>Bold</b> and <u>underlined</u>.
<SYNC Start=4000>
<P>
<SYNC Start=5000>
<P>A soft<br>break and a {\p1}mystery{\p0} code.
<SYNC Start=8000>
<P>
</BODY>
</SAMI>
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
Styling apa yang bertahan saat SSA dikonversi ke SMI?
SMI dapat memuat tag HTML sederhana, tetapi tabel gaya V4 tidak diterjemahkan menjadi aturan SAMI. Jenis huruf, warna, dan garis tepi dari skrip tidak muncul sebagai gaya di hasil; yang tersisa adalah teks cue di dalam <P>.
Apa yang terjadi pada timing karaoke dari SSA ke SMI?
Hilang. Karaoke SSA membagi baris menjadi suku kata dengan waktu masing-masing, sedangkan SMI mengatur tampil per cue lewat atribut Start. Suku kata tetap ada sebagai teks, tetapi sorotan bertiming tidak bisa dinyatakan.
Apa yang terjadi pada blok [Script Info] dan sisa skrip SSA di SMI?
Bagian di luar cue dibuang: konfigurasi [Script Info], catatan Comment:, serta lampiran [Fonts] dan [Graphics]. Struktur <SYNC> dan <P> milik SAMI tidak bisa menampungnya.
Seperti apa keluaran saat SSA menjadi SMI?
Keluaran SMI berisi <SYNC Start=…> dengan teks di dalam <P>, diikuti <P> untuk mengosongkan layar. Tiap event Dialogue SSA menjadi satu cue.
Apakah waktu SSA tetap persis di file SMI?
Ya, sampai milidetik. SSA menulis 0:00:04.12 — 4120 milidetik — dan SMI menulis Start=4120. Tidak ada pembulatan tambahan atau pergeseran.
Bagaimana cue SSA dua baris keluar di SMI?
Sebagai dua baris dengan <br> di antaranya, cara SAMI menulis baris baru keras. Kode pemisah baris SSA diterjemahkan menjadi <br>, dan pasangannya bertahan dalam satu subtitle.
Apakah cue SSA tetap berurutan di keluaran SMI?
Ya. Cue diurutkan menurut waktu mulai, jadi event SSA yang tidak kronologis keluar berurutan di SMI.
Bisakah SMI hasil konversi SSA ini diubah kembali menjadi SSA?
Bisa lewat halaman SMI ke SSA, dan arah balik punya daftar sendiri: yang hilang di sini tidak kembali sebagai gaya lengkap. Yang kembali adalah event dengan waktu dan teks, ditambah pemformatan inline yang dikenali pembaca SMI.
Apakah keluaran SMI mempertahankan encoding file SSA saya?
Tidak. SMI hasilnya UTF-8 tanpa byte-order mark, dan encoding asal SSA didekode saat dibaca; panel hasil menandainya.