Chuyển TTML sang TXT
Hoặc dán văn bản phụ đề
Chuyển đổi này thay đổi điều gì
5 thứ bị bỏ hoặc cần một quyết định
- Mốc thời gian
toàn bộ dòng thời gian (định dạng đích không ghi mốc thời gian nào)
- Đị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)
- Xuống dòng
xuống dòng (các cue nhiều dòng sẽ được nối thành một dòng)
- 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.
Trang này chuyển đổi TTML sang TXT. Bạn kéo tệp vào hoặc dán văn bản, rồi nhận lại phiên bản TXT. Toàn bộ quá trình chạy ngay trong trình duyệt: không tải tệp lên máy chủ, không cần tài khoản.
TXT chỉ có chữ: không mốc thời gian, không số thứ tự, không thẻ. Bảng `<styling>`, `<layout>` và mọi cấu trúc riêng của TTML đều mất, còn thứ tự dòng được giữ. Danh sách mất mát phía trên lấy từ khả năng của hai định dạng chứ không phải từ tệp của bạn, nên nó giống nhau trước khi bạn mở tệp.
Một tệp hay cả mùa đều được: hàng đợi xử lý lần lượt và trả kết quả về cùng một tệp ZIP.
Ví dụ
Tệp TTML thông thường, chuyển sang TXT
Đầu vào
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
Kết quả
Hello there.
How are you?
Fine, thanks.
Phần bị mất trong kết quả này: thời gian, kiểu chữ, vị trí, ngắt dòng và nội dung riêng của định dạng. Phần còn lại khớp từng dòng.
Cùng phép chuyển trên một tệp lộn xộn
Đầu vào
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:frameRate="25" xml:lang="en">
<body>
<div>
<p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
<p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
<p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
<p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom & Jerry.</p>
</div>
</body>
</tt>
Kết quả
Loaded from an offset and a duration.
A coarser clock spelling.
Frames, at 25fps.
Half-open and Tom & Jerry.
Đây là kiểu hỏng tệp thật thường có — kết thúc dòng lẫn lộn, khoảng trắng thừa, trường bỏ trống. So sánh với ví dụ gọn phía trên để thấy bộ đọc bỏ qua được gì.
Câu hỏi thường gặp
Mốc thời gian của TTML đi đâu khi chuyển sang TXT?
TXT không có mốc thời gian để giữ: bản xuất chữ chỉ là từ ngữ, không phải thời điểm. Thứ tự dòng của TTML được bảo toàn, nhưng không chỗ nào trong TXT nói dòng đó xuất hiện lúc nào.
Chữ đậm, nghiêng và màu trong TTML ra sao trong tệp TXT?
TXT không lưu bất kỳ kiểu chữ nào, nên `<span tts:color="…">` trong câu và mọi kiểu có tên trong bảng `<styling>` đều mất; mỗi dòng thành văn bản thuần. Bản thân các từ không bị đổi.
Vị trí trên màn hình của TTML có sang được TXT không?
Không. TXT không nói được phụ đề vẽ ở đâu, nên `region` và `style` trên `<p>` bị bỏ, và mọi cue trở về vị trí mặc định của trình phát — thường là đáy khung hình và căn giữa.
Một cue TTML hai dòng ra sao trong TXT?
Cả hai dòng đều được ghi, dòng nọ dưới dòng kia, nhưng tệp không còn nói chúng thuộc cùng một cue. Đọc lại sẽ ra hai phụ đề thay vì một — điều này quan trọng nếu sau đó có công cụ đọc lại tệp.
Prolog, bảng `<styling>` và `<layout>` của TTML có vào TXT không?
Không. Khai báo XML, namespace, bảng kiểu có tên, bảng vùng và `<metadata>` đều bị bỏ; TXT không có phần đầu tệp để chứa chúng. Nhấn mạnh trong câu cũng mất vì TXT không có cú pháp thẻ.
Kết quả TTML sang TXT trông như thế nào?
Mỗi dòng phụ đề thành một dòng chữ, không có số cue và không có timecode. Một cue TTML thành một cue TXT, cùng thứ tự và cùng nội dung.
Các cue TTML có giữ thứ tự trong kết quả TXT không?
Có, và được sắp theo mốc bắt đầu trước khi ghi. Tệp TTML lộn thứ tự sẽ cho TXT đúng thứ tự; chỉ cấu trúc thay đổi, chữ không đổi.
Tôi có chuyển ngược TXT về TTML được không?
Được, nhưng chiều TXT sang TTML bỏ timing: TXT không có mốc thời gian nên TTML phải tạo dòng thời gian mới, mỗi dòng một khoảng đều nhau. Danh sách mất mát của chiều ngược khác danh sách phía trên.
Kết quả TXT có giữ encoding của tệp TTML không?
Không. TXT xuất ra là UTF-8, kết thúc dòng kiểu Unix và không có BOM, bất kể TTML đầu vào dùng gì. Tệp UTF-16 được giải mã khi đọc và bảng kết quả sẽ báo.