Lompat ke konten utama
SubtitleMatrix

Konversi SMI ke ASS

Konversi formatSAMI (SMI)
Atau tempel teks subtitle

Apa yang berubah dalam konversi ini

2 hal dihapus atau memerlukan keputusan

  • Presisi

    presisi waktu — jam keluaran lebih kasar, sehingga setiap stempel waktu dibulatkan ke 10 ms terdekat

  • 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.

SAMI (SMI) adalah format subtitle Microsoft yang ditulis sebagai fragmen HTML: setiap tag <SYNC Start=...> menandai apa yang tampil sejak momen itu, dan teksnya berada di elemen <P>. Kepala dokumen dapat memuat <TITLE> serta blok <STYLE> berisi CSS untuk paragrafnya.

Kedua format tidak menyimpan hal yang sama. Presisi dan isi khas dokumen SAMI tidak punya tempat di ASS: jam ASS memakai satuan seperseratus detik, sedangkan SAMI menyimpan milidetik, dan blok <STYLE>, <TITLE>, serta atribut Class tidak termasuk model cue. Daftar di atas berasal dari kemampuan format, bukan dari file Anda.

Konversi berjalan di peramban tanpa unggahan dan tanpa akun. Antrean memproses satu file atau satu musim secara berurutan, lalu semua hasilnya dapat diunduh sebagai satu ZIP.

Contoh

File SMI biasa, dikonversi ke ASS

Masukan

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Keluaran

[Script Info]
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,0,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:03.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

Yang hilang di keluaran ini: presisi dan isi khas dokumen. Selebihnya cocok baris per baris.

Konversi yang sama pada masukan berantakan

Masukan

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Keluaran

[Script Info]
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,0,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:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom &amp; Jerry

File nyata sering membawa akhir baris campuran, spasi liar, dan kolom kosong. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.

Pertanyaan yang sering diajukan

Mengapa waktu SMI berubah saat ditulis ke ASS?

ASS menyimpan 0:00:04.13, sedangkan SMI menyimpan Start=4126. Selisih satuan seperseratus melawan seperseribu membuat setiap timecode dibulatkan ke 10 ms terdekat: 00:00:04,126 menjadi 4,13 detik. Tidak ada yang direntangkan atau diurutkan ulang, dan tidak ada cue yang bergeser lebih dari 5 ms.

Apa yang terjadi pada blok STYLE, TITLE, dan atribut Class SAMI di ASS?

Semuanya dibuang. SAMI menyatakan tampilan di luar teks cue: blok <STYLE> berisi CSS, judul <TITLE>, dan penanda kanal seperti Class=ENCC yang menunjuk salah satu aturan. ASS menyimpan cue, bukan dokumen, jadi tidak ada tempat untuk itu; teks dan waktu cue sendiri tetap utuh.

Seperti apa bentuk keluaran SMI saat menjadi ASS?

Seperti ASS: tanpa nomor cue, setiap subtitle menjadi baris Dialogue di [Events] dengan kolom layer. Header dan tabel gaya ditulis dengan gaya Default, dan setiap cue SMI menjadi satu cue ASS dengan urutan serta teks yang sama.

Bagaimana cue SMI dua baris muncul di ASS?

Sebagai dua baris dengan \N di antaranya, pemisah baris keras khas ASS. Kedua baris SMI tetap satu subtitle di keluaran dan pemutar menampilkannya bersamaan, jadi struktur cue-nya tidak pecah.

Apakah urutan cue SMI dipertahankan di ASS?

Ya. Cue diurutkan menaik menurut waktu mulai sebelum ditulis, paling awal lebih dulu, mengikuti cara pemutar membaca baris Dialogue. File SMI yang urutannya kacau akan keluar rapi, dan itu perubahan struktur yang disengaja.

Apa yang hilang bila ASS dikonversi balik ke SMI?

Gaya, karaoke, dan konstruksi khas ASS tidak punya padanan di SMI. Arah sebaliknya ini punya daftar sendiri; halaman ASS ke SMI menyebutkannya sebelum Anda membuka file.

Apakah ASS hasil konversi memakai encoding file SMI?

Tidak. Keluaran ASS selalu UTF-8 dengan akhir baris Unix dan tanpa byte-order mark, apa pun encoding file SMI. Masukan UTF-16 atau encoding satu byte Windows didekode lebih dulu, dan panel hasil menandainya.

Alat terkait