Konversi ASS ke SRT
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 Advanced SubStation Alpha diratakan menjadi SRT biasa. ASS memperlakukan subtitle sebagai teks yang digambar mesin render; SRT memperlakukannya sebagai baris teks di antara dua stempel waktu. Konversi mempertahankan timeline, ditulis ulang dari notasi ASS (0:00:01.00) ke notasi SRT (00:00:01,000), serta mempertahankan kata-katanya, dan menerjemahkan gaya yang bisa dinyatakan SRT: rentang miring di skrip menjadi tag miring, rentang tebal menjadi tag tebal.
Apa yang dikatakan skrip tentang penggambaran tidak punya tempat. Posisi di layar, jenis huruf, garis tepi, bayangan, dan timing karaoke per suku kata semuanya instruksi kepada renderer, bukan teks, dan SRT tidak punya renderer untuk diberi instruksi. Semuanya dibuang alih-alih diselundupkan ke teks cue sebagai markup palsu, dan masing-masing dicantumkan di bawah kotak file, sehingga biayanya terlihat sebelum Anda memutuskan.
Satu musim tidak masalah: file diproses satu per satu, prosesnya bisa dibatalkan di tengah, dan semuanya turun sebagai satu ZIP. Konversi berlangsung di peramban Anda, jadi skrip Anda tidak pernah diunggah.
Contoh
File ASS biasa, dikonversi ke SRT
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
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:05,000 --> 00:00:08,500
<i>Italic</i> and <b>bold</b> text.
3
00:00:09,000 --> 00:00:12,000
Positioned
4
00:00:13,000 --> 00:00:16,000
<c>ka</c><c>ra</c><c>o</c><c>ke</c>
5
00:00:17,000 --> 00:00:20,000
Line one
Line two
6
00:00:21,000 --> 00:00:24,000
Top left
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]
; 一份真实的脏文件: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
00:00:01,000 --> 00:00:04,000
Hello, world
2
00:00:05,000 --> 00:00:08,000
{\fad(300,300)}Unmodelled override
3
00:00:09,000 --> 00:00:12,000
Both, wrong order
4
00:00:13,000 --> 00:00:16,500
One decimal centisecond
5
00:00:17,000 --> 00:00:20,000
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
Ke mana posisi di layar pergi saat ASS dikonversi ke SRT?
Posisi dibuang. Kode seperti \pos(320,240) atau \an7 mengatur tempat cue muncul, dan SRT tidak punya penempatan: cue selalu tampil di tempat pemutar menaruhnya. Konverter tidak menyalin koordinat itu ke teks sebagai markup yang tidak dikenali.
Apa yang terjadi pada timing karaoke ASS saat dikonversi ke SRT?
Hilang sebagai timing. Karaoke ASS menyimpan waktu per suku kata, sedangkan SRT hanya punya satu waktu mulai dan satu waktu selesai per cue. Suku kata tetap ada sebagai teks — yang tidak kembali adalah sorotan yang mengikutinya.
Bagaimana stempel waktu dikonversi dari ASS ke SRT?
Notasi ASS 0:00:01.23 ditulis ulang menjadi 00:00:01,230. Nilainya sama sampai perseratus detik, dan digit milidetik terakhir diisi nol. Tidak ada pergeseran atau pembulatan baru.
Apa yang terjadi pada gaya ASS saat file menjadi SRT?
Hanya yang bisa dinyatakan SRT yang diterjemahkan: rentang miring menjadi tag miring dan rentang tebal menjadi tag tebal. Jenis huruf, warna, garis tepi, bayangan, dan margin dari tabel gaya tidak punya padanan dan dibuang.
Apakah masalah bila skrip ASS memakai beberapa gaya dan dikonversi ke SRT?
Tidak untuk konversinya, tetapi hasilnya akan berbeda dari tampilan aslinya. SRT tidak menyimpan nama gaya, jadi semua cue yang menunjuk ke gaya berbeda keluar dengan teks yang sama; hanya miring dan tebal yang terbaca sebagai pemformatan.