แปลง ASS เป็น SRT
หรือวางข้อความคำบรรยาย
การแปลงนี้เปลี่ยนอะไร
4 อย่างถูกตัดทิ้งหรือต้องตัดสินใจ
- รูปแบบ
รูปแบบตัวอักษรทั้งหมด (ตัวหนา ตัวเอียง สี เส้นขอบ เงา)
- ตำแหน่ง
ตำแหน่งบนหน้าจอ (ทุกคิวกลับไปยังตำแหน่งเริ่มต้น)
- Karaoke
จังหวะ Karaoke (ไฮไลต์ต่อพยางค์)
- เนื้อหาที่เฉพาะกับรูปแบบ
เนื้อหาที่รูปแบบต้นทางเก็บไว้นอกคิว (บล็อกที่ไม่ใช่คิว ข้อความหัวไฟล์ การตั้งค่าต่อคิว เหตุการณ์ที่ถูกคอมเมนต์) — รูปแบบปลายทางไม่มีที่ให้เก็บ
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลงไฟล์ ASS เป็น SRT ในเบราว์เซอร์ ไม่มีการอัปโหลดและไม่ต้องมีบัญชี คุณลากไฟล์เดียวหรือทั้งฤดูกาลเข้ามาได้ คิวทำงานตามลำดับ ยกเลิกกลางทางได้ และดาวน์โหลดผลลัพธ์ทั้งหมดเป็น ZIP เดียว
ในทิศทางนี้สิ่งที่สูญหายคือสไตล์ การวางตำแหน่ง คาราโอเกะ และเนื้อหาเฉพาะรูปแบบ รายการนี้มาจากสิ่งที่สองรูปแบบเก็บได้ ไม่ได้มาจากไฟล์ของคุณ จึงเป็นคำตอบเดิมก่อนคุณโหลดอะไร ส่วนข้อความและลำดับคิวยังอยู่ ผลลัพธ์เป็นไฟล์ SRT ที่มีเลขคิวเหนือไทม์โค้ด และเวลาเขียนด้วยจุลภาค (00:00:01,000) ASS เก็บเวลาเป็นหนึ่งในร้อยของวินาที SRT เก็บถึงมิลลิวินาที ค่าที่มีอยู่จึงถูกคูณสิบและเปลี่ยนตัวคั่นโดยไม่ปัดเศษเพิ่ม
ตัวอย่าง
ไฟล์ ASS ทั่วไป แปลงเป็น SRT
ข้อมูลนำเข้า
[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
ผลลัพธ์
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
มีข้อมูลสูญหายในผลลัพธ์นี้: สไตล์ การวางตำแหน่ง คาราโอเกะ และเนื้อหาเฉพาะรูปแบบ ส่วนที่เหลือตรงกันทุกบรรทัด
การแปลง ASS เป็น SRT บนไฟล์ที่มีปัญหา
ข้อมูลนำเข้า
[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 timecodeผลลัพธ์
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
ไฟล์จริงมักมีอาการแบบนี้ — การขึ้นบรรทัดใหม่แบบผสม ช่องว่างเกิน และฟิลด์ที่เว้นว่าง เทียบกับตัวอย่างแรกเพื่อดูว่าตัวแยกวิเคราะห์ยอมรับอะไรได้บ้าง
คำถามที่พบบ่อย
ตำแหน่งบนจอของ ASS หายไปไหนเมื่อแปลงเป็น SRT
SRT ไม่มีวิธีวางคิวที่ตำแหน่งใดบนจอ โปรแกรมเล่นเป็นผู้ตัดสินว่าคำบรรยายจะปรากฏที่ไหน บรรทัดที่มีตำแหน่งระบุไว้จึงออกมาเป็นคิวธรรมดา และพิกัดไม่สามารถปรากฏในผลลัพธ์ได้ นั่นคือหนึ่งในรายการด้านบน
เวลาคาราโอเกะของ ASS ไปไหนเมื่อกลายเป็น SRT
คาราโอเกะรายพยางค์เป็นการสั่งเรื่องเวลา ไม่ใช่ข้อความ และ SRT ไม่มีการสั่งที่เทียบเท่า ตัวพยางค์ยังอยู่และถูกทำเครื่องหมายให้หาเจอ แต่ระยะเวลาที่ทำให้มันสว่างทีละพยางค์หายไป เพราะ SRT แสดงทั้งคิวพร้อมกัน
ไทม์โค้ดของ ASS ถูกแปลงเป็น SRT อย่างไร
ASS เขียนชั่วโมง นาที วินาที และหนึ่งในร้อย ส่วน SRT เขียนชั่วโมง นาที วินาที และมิลลิวินาที ค่าหนึ่งในร้อยถูกคูณสิบและตัวคั่นเปลี่ยน ไทม์ไลน์จึงถูกคงไว้ถึงหนึ่งในร้อยของวินาที ซึ่งละเอียดเท่าที่ต้นฉบับเคยเก็บ
สไตล์ในสคริปต์ ASS ถูกทำอะไรเมื่อแปลงเป็น SRT
สไตล์ถูกอ่าน และสิ่งที่ SRT แสดงได้ถูกยกไป: ค่าตัวเอียงและตัวหนาที่สไตล์ของคิวเปิดไว้กลายเป็นแท็กในผลลัพธ์ ส่วนอื่นที่สไตล์พาไว้ — ฟอนต์ ขนาด สี เส้นขอบ ระยะขอบ — ถูกทิ้ง เพราะ SRT ไม่มีที่ให้เก็บ
สคริปต์ ASS ที่ใช้หลายสไตล์มีปัญหากับ SRT ไหม
ไม่มี บรรทัด Dialogue แต่ละบรรทัดถูกอ่านแยกกันและค้นสไตล์ที่มันอ้างถึงเฉพาะบรรทัดนั้น สคริปต์ที่มีสิบสไตล์จึงแปลงได้เหมือนสคริปต์ที่มีสไตล์เดียว