Chuyển VTT sang ASS
Hoặc dán văn bản phụ đề
Chuyển đổi này thay đổi điều gì
2 thứ bị bỏ hoặc cần một quyết định
- Độ chính xác
độ chính xác thời gian — đồng hồ của kết quả thô hơn, nên mọi mốc thời gian được làm tròn đến 10 ms gần nhấ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 VTT mang dòng đầu, chú thích và thiết lập theo cue bên cạnh phần chữ. Trang này chuyển tệp VTT sang ASS. Mỗi cue thành một dòng Dialogue: trỏ vào một kiểu có tên, và mốc thời gian chuyển sang ký pháp của ASS — 0:00:01.00 thay cho 00:00:01,000 — vì ASS đếm phần trăm giây còn VTT đếm mili giây.
Không phải mọi thứ đều đi qua. ASS không giữ được độ chính xác thời gian và cấu trúc riêng của định dạng nguồn, nên phần đó bị bỏ hoặc bị làm thô đi và được ghi lại thành từng mục — không có mất mát nào diễn ra im lặng.
Phụ đề không rời khỏi máy: công cụ chạy hoàn toàn phía trình duyệt, không tải lên và không cần tài khoản. Cả mùa phim cũng xử lý được — hàng đợi đi lần lượt, có nút hủy, và cuối cùng là một tệp ZIP.
Ví dụ
Một tệp VTT thông thường, chuyển sang ASS
Đầu vào
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
Kết quả
[Script Info]
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,0,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:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.
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 ASS.
Cùng phép chuyển VTT sang ASS trên một tệp lộn xộn
Đầu vào
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
Kết quả
[Script Info]
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,0,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:02.00,Default,,0,0,0,,No header, two lines before the timecode.
Đâ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ì sao mốc thời gian bị làm tròn khi chuyển VTT sang ASS?
ASS ghi thời gian tới 1/100 giây, còn VTT ghi tới mili giây. Mốc 00:00:01,234 thành 0:00:01.23, lệch tối đa 5 ms mỗi đầu. Không có cue nào bị co giãn hay đổi thứ tự, nhưng nếu bạn đối chiếu tệp này với một tệp khác thì đây là chỗ duy nhất phép chuyển đổi ngừng chính xác tuyệt đối.
Vì sao tệp ASS xuất từ VTT lại có bảng kiểu mà tôi không yêu cầu?
Khi chuyển VTT sang ASS, mỗi dòng Dialogue: phải trỏ vào một kiểu — ASS không có khái niệm cue không có kiểu. Công cụ tạo một kiểu tên Default — Arial cỡ 20, chữ trắng viền đen — và trỏ mọi dòng vào đó. Sửa dòng đó trong phần đầu tệp là cả tệp đổi theo.
Thiết lập sau mốc thời gian như align:start hay position:10% có được giữ khi VTT sang ASS?
Không. ASS đặt được vị trí, nhưng bằng mã ghi đè nằm trong chữ — \an7 cho góc trên trái, \pos(320,240) cho một điểm chính xác — còn thiết lập của WebVTT là bộ từ vựng khác, hạn chế hơn và không ánh xạ một-một. Thay vì đoán vị trí, công cụ để nguyên phần chữ và ghi thiết lập đó vào danh sách mất mát.
Các khối NOTE, STYLE và REGION của VTT sang ASS ra sao?
Chúng bị bỏ. Tệp VTT có thể mang dòng đầu, chú thích, khối kiểu, định nghĩa vùng và thiết lập theo cue như align hay position; ASS không có cấu trúc tương đương cho chúng. Phần cue — chữ và mốc thời gian — đi qua nguyên vẹn.
Tệp VTT của tôi có bị gửi đi đâu khi chuyển sang ASS không?
Không. Tệp được đọc và ghi ngay trong tab trình duyệt; chỉ trang web đi qua mạng, còn nội dung VTT — chữ, mốc thời gian, thẻ — không vào bất kỳ yêu cầu nào. Sau khi trang tải xong, bạn có thể ngắt mạng mà vẫn chuyển được sang ASS.