Định dạng phụ đề ASS
Định dạng này có thể biểu đạt gì
- Định dạng hiển thị văn bản
- Phông chữ, màu, viền, bóng
- Vị trí trên màn hình
- Có
- Thời gian karaoke
- Có
- Xuống dòng trong một cue
- Có
- Dòng thời gian
- Thời điểm bắt đầu và kết thúc cho mọi cue
- Độ phân giải thời gian
- 10 ms
- Thời gian lưu dưới dạng số khung hình
- Không
- Văn bản phải sang trái
- Có
Ví dụ
Một tệp ASS thông thường và những gì đọc ra từ đó
Tệp
[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
Tệp chứa gì
6 cues, 7 lines of text
0:00:01.00 → 0:00:04.00
Hello there.
[Default]
0:00:05.00 → 0:00:08.50
Italic and bold text. [italic ×1, bold ×1]
[Default]
0:00:09.00 → 0:00:12.00
Positioned
[Title; \pos 320,240]
0:00:13.00 → 0:00:16.00
karaoke [karaoke ×4]
[Default]
0:00:17.00 → 0:00:20.00
Line one
Line two
[Default]
0:00:21.00 → 0:00:24.00
Top left
[Default]
Outside the cues:
sections [Script Info], [V4+ Styles], [Events]
style table 2 — Default (Arial 20), Title (Arial 36)Cột bên phải không phải tệp đã chuyển — đó là những gì trang này đọc ra từ cột bên trái, và cũng là điểm xuất phát của mọi phép chuyển đổi từ tệp đó.
Một tệp ASS lộn xộn và những gì vẫn đọc được
Tệp
[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 timecodeTệp chứa gì
5 cues, 6 lines of text
0:00:01.00 → 0:00:04.00
Hello, world
[Default]
0:00:05.00 → 0:00:08.00
{\fad(300,300)}Unmodelled override
[Default]
0:00:09.00 → 0:00:12.00
Both, wrong order
[Default; \pos 320,240]
0:00:13.00 → 0:00:16.50
One decimal centisecond
[Default]
0:00:17.00 → 0:00:20.00
Soft
break
[Default]
Outside the cues:
sections [Script Info], [V4+ Styles], [Fonts], [Events]
style table 1 — Default (Arial 20)
events 1 Comment: line — stored, never displayed
Reported while reading — repaired or skipped, never silently:
1 × events whose time codes could not be read (they were left in the file unchanged)Tệp thật thường có BOM, xuống dòng kiểu Windows, một dòng lạ trước timecode hoặc một timecode không đọc được. Không có gì ném lỗi: phần không hiểu được báo lại chứ không bị bỏ im lặng.
Chuyển Advanced SubStation Alpha (ASS) sang định dạng khác
Mỗi công cụ trong số này chạy hoàn toàn trong trình duyệt của bạn. Nhãn cho biết hướng đó tốn kém gì trước khi bạn mở nó.
- Định dạng hiển thị
- Vị trí
- Karaoke
- Nội dung riêng của định dạng
- Nội dung riêng của định dạng
- Mốc thời gian
- Định dạng hiển thị
- Vị trí
- Karaoke
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Karaoke
- Tốc độ khung hình
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Karaoke
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Karaoke
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Karaoke
- Nội dung riêng của định dạng
Không mất gì theo hướng này — mọi tính năng của định dạng nguồn đều có chỗ để đi trong định dạng đích.
- Karaoke
- Nội dung riêng của định dạng
- Mốc thời gian
- Định dạng hiển thị
- Vị trí
- Karaoke
- Xuống dòng
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Karaoke
- Nội dung riêng của định dạng
Chuyển đổi sang định dạng này
- SubRip (SRT) → Advanced SubStation Alpha (ASS)
- WebVTT (VTT) → Advanced SubStation Alpha (ASS)
- SubStation Alpha (SSA) → Advanced SubStation Alpha (ASS)
- YouTube SBV → Advanced SubStation Alpha (ASS)
- SAMI (SMI) → Advanced SubStation Alpha (ASS)
- LRC Lyrics → Advanced SubStation Alpha (ASS)
- MicroDVD → Advanced SubStation Alpha (ASS)
- TTML (Timed Text) → Advanced SubStation Alpha (ASS)
- SubtitleMatrix JSON → Advanced SubStation Alpha (ASS)
- Plain Text (TXT) → Advanced SubStation Alpha (ASS)
- CSV Spreadsheet → Advanced SubStation Alpha (ASS)
Advanced SubStation Alpha (ASS) là một trong những định dạng phụ đề trang này xử lý, và đây là trang tham chiếu của nó: nó chứa được gì, không chứa được gì, và mỗi định dạng bạn có thể chuyển sang có một trang riêng.
Bảng phía trên là toàn bộ: không có danh sách tính năng ẩn. Khi một dòng ghi không, đó đúng là thứ bị mất khi chuyển vào ASS, và từng trang chuyển đổi liên kết bên dưới nói rõ trước khi bạn mở tệp.
Mọi phép chuyển đổi như vậy chạy trong trình duyệt. Không tải lên, không cần tài khoản — điều này quan trọng với tài liệu đang chịu NDA, hồ sơ bệnh nhân hay bản phát sóng còn bị cấm công bố.
Câu hỏi thường gặp
Tệp ASS là gì và công cụ nào đọc nó?
.ass là định dạng của những người làm phụ đề quan tâm chữ trông thế nào — fansub, anime và phần lớn công việc không chấp nhận mặc định của trình phát. Aegisub, mpv, VLC và các công cụ burn-in đều đọc; tệp chứa bảng kiểu, mã ghi đè theo cue và thời gian karaoke.
ASS lưu kiểu chữ tới mức nào?
Có, và nhiều hơn các định dạng khác: một bảng kiểu gồm phông, cỡ, màu, viền và lề, cộng mã theo từng cue nằm trong phần chữ, nên một dòng có thể đậm, có màu và được đặt vị trí mà không cần kiểu có tên. Thời gian karaoke cũng được lưu. Ở đây bảng đó là mục [V4+ Styles], còn kiểu theo cue viết dưới dạng mã ghi đè như {\i1} ngay trong chữ của dòng Dialogue:.
Độ chính xác thời gian của ASS là bao nhiêu?
Một mốc trong tệp ASS viết là 0:00:04.13 — tới 1/100 giây, và con số là chính xác. Cue vì thế có thể ngắn, dài hoặc chồng lên cue sau mà không hàm ý gì thêm; đây cũng là lý do chuyển sang định dạng mili giây không làm mất thêm.
Những định dạng nào tương thích với ASS mà không mất gì?
SSA — mọi thứ ASS diễn đạt được thì SSA cũng vậy. Bảng phía trên là nguồn của câu trả lời: một dòng ghi có ở cả hai phía là một tính năng sống sót. Mọi hướng khác đều bỏ thứ gì đó, và từng trang chuyển đổi riêng nói rõ danh sách của mình.
Ngoài các cue, tệp ASS còn giữ những gì?
Tệp ASS giữ ba thứ: mục [Script Info] chứa thiết lập toàn cục, một bảng kiểu, và tùy chọn cả phông trong [Fonts] cùng hình vẽ trong [Graphics]. Mục sự kiện còn có thể chứa dòng Comment: — sự kiện được lưu nhưng không bao giờ hiển thị.
ASS khác SSA ở đâu?
Cùng một định dạng, cách nhau một phiên bản. ASS ghi ScriptType: v4.00+, dùng mục [V4+ Styles] và cột Layer trên mỗi sự kiện; SSA ghi v4.00, dùng [V4 Styles] và Marked, đồng thời đặt tên hai cột kiểu khác đi: TertiaryColour thay cho OutlineColour, và có cột AlphaLevel mà ASS không có. Chuyển giữa hai bên giữ nguyên cue, mốc thời gian và khối [Script Info]; bảng kiểu được viết lại theo cột của phương ngữ đích.