Chuyển đến nội dung chính
SubtitleMatrix

Định dạng phụ đề ASS

Chuyển đổi định dạngAdvanced SubStation Alpha (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 timecode

Tệ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ó.

Chuyển ASS sang LRC — mất thời gian, kiểu dáng, vị trí, karaoke, nội dung riê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
Chuyển ASS sang MicroDVD — mất kiểu dáng, vị trí, karaoke, frame rate, nội dung riê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
Chuyển ASS sang SBV — mất kiểu dáng, vị trí, karaoke và nội dung riêng.
  • Định dạng hiển thị
  • Vị trí
  • Karaoke
  • Nội dung riêng của định dạng
Chuyển ASS sang SSA — không mất gì: cùng họ nên kiểu dáng và karaoke đi theo nguyên vẹn.

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.

Chuyển ASS sang TXT — mất thời gian, kiểu dáng, vị trí, karaoke, ngắt dòng, nội dung riê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

Chuyển đổi sang định dạng này

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.