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

Chuyển ASS sang SRT

Chuyển đổi định dạngAdvanced SubStation Alpha (ASS)
Hoặc dán văn bản phụ đề

Chuyển đổi này thay đổi điều gì

4 thứ bị bỏ hoặc cần một quyết định

  • Định dạng hiển thị

    mọi định dạng hiển thị (đậm, nghiêng, màu, viền, bóng)

  • Vị trí

    vị trí trên màn hình (mọi cue trở về vị trí mặc định)

  • Karaoke

    thời gian karaoke (tô sáng từng âm tiết)

  • Nội dung riêng của định dạng

    nội dung mà định dạng nguồn giữ bên ngoài các cue (khối không phải cue, văn bản đầu tệp, thiết lập riêng từng cue, sự kiện bị chú thích) — định dạng đích không có chỗ cho nó

Danh sách này đến từ ma trận năng lực của hai định dạng này, không phải từ tệp cụ thể bạn đã tải lên. Một tệp cụ thể có thể mất nhiều hơn nếu nó dùng các tính năng mà định dạng cho phép nhưng ma trận không mô hình hóa.

Tệp ASS là một script có phần đầu, bảng kiểu và các sự kiện Dialogue:. Trang này chuyển tệp ASS sang SRT. Mỗi cue thành một khối số thứ tự, một dòng timecode dạng 00:00:01,000 --> 00:00:03,500 và phần chữ bên dưới.

Cái giá của hướng này nằm ở kiểu chữ và bảng kiểu, vị trí trên màn hình, thời gian karaoke và cấu trúc riêng của định dạng nguồn: SRT không giữ được chúng như ASS. Bạn thấy danh sách trước khi chuyển, và sau khi mở tệp báo cáo còn cho biết tệp của bạn thực sự có bao nhiêu trong số đó.

Mọi thứ chạy trong trình duyệt của bạn: tệp không được tải lên máy chủ nào và không cần tài khoản. Bạn có thể thả một tệp hoặc cả mùa phim; hàng đợi xử lý lần lượt, bạn hủy được giữa chừng, và kết quả về cùng một tệp ZIP.

Ví dụ

Một tệp ASS thông thường, chuyển sang SRT

Đầu vào

[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

Kết quả

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

So hai bên theo từng dòng để thấy phần nào đi qua nguyên vẹn và phần nào đổi khi ra SRT.

Cùng phép chuyển ASS sang SRT trên một tệp lộn xộn

Đầu vào

[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

Kết quả

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

Đây là kiểu hỏng tệp thật hay gặp — xuống dòng lẫn lộn, khoảng trắng thừa, trường bỏ trống. Đặt cạnh ví dụ gọn phía trên để thấy trình đọc tha cho những gì.

Câu hỏi thường gặp

Vị trí phụ đề trên màn hình của ASS có sang SRT không?

SRT không nói được phụ đề nằm ở đâu, nên các mã \pos, \an và \move bị gỡ khi ra khỏi ASS; mọi cue quay về vị trí mặc định của trình phát — thường là đáy khung hình, căn giữa.

Thời gian karaoke trong ASS xử lý thế nào khi sang SRT?

Mốc thời gian mất, chữ còn. Karaoke nằm trong các mã \k, \kf và \ko của từng sự kiện ASS, đánh dấu lúc từng âm tiết sáng lên; SRT không có cách ghi một khoảnh khắc bên trong một dòng, nên các dấu đó được gỡ và âm tiết ra như chữ SRT bình thường.

Mốc thời gian được đổi thế nào từ ASS sang SRT?

ASS ghi giờ, phút, giây và phần trăm giây; SRT ghi giờ, phút, giây và mili giây. Phần trăm giây nhân mười và dấu phân cách đổi, nên dòng thời gian được giữ tới 1/100 giây — đúng mức nguồn từng lưu.

Các kiểu trong script ASS được xử lý thế nào khi sang SRT?

Chúng được đọc và phần SRT diễn đạt được thì đi qua: thiết lập in nghiêng và in đậm mà kiểu của cue bật lên thành thẻ trong đầu ra. Phần còn lại của kiểu — phông, cỡ, màu, viền, lề — bị bỏ vì SRT không có chỗ cho chúng.

Script ASS dùng nhiều kiểu có ảnh hưởng gì khi sang SRT?

Không. Mỗi dòng Dialogue: được đọc riêng và kiểu mà nó tham chiếu được tra cho chính dòng đó, nên script có hàng chục kiểu chuyển đổi y như script chỉ có một kiểu.

Công cụ liên quan