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

Chuyển SMI sang TTML

Hoặc dán văn bản phụ đề

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

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

  • 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 SMI sang TTML. Bạn thả tệp vào hoặc dán văn bản, rồi nhận lại phiên bản TTML. Quá trình chạy trong trình duyệt: không tải tệp lên máy chủ và không cần tài khoản.

Hai định dạng không lưu cùng một thứ: TTML giữ được thời gian và văn bản của mỗi cue, nhưng các khối ngoài cue của SAMI như <STYLE>, Class hay phần đầu tài liệu không có chỗ trong cấu trúc. Danh sách mất mát phía trên tính từ khả năng của hai định dạng.

Một tệp hay cả mùa phim đề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ụ

Một tệp SMI điển hình, chuyển sang TTML

Đầu vào

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Kết quả

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:03.000">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000">How are you?<br/>Fine, thanks.</p>  </body>
</tt>

Bị mất trong kết quả: các thành phần ngoài cue của SAMI. Phần còn lại khớp từng dòng.

Cùng phép chuyển đổi với một tệp lộn xộn

Đầu vào

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Kết quả

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:02.500" end="00:00:09.000">Line one<br/>Line two</p>
<p begin="00:00:09.000" end="00:00:12.000">Tom &amp; Jerry</p>  </body>
</tt>

Đây là kiểu hỏng thật của tệp ngoài đời — thẻ đóng thiếu, Class trỏ vào kiểu không tồn tại, kết thúc dòng lẫn lộn. So với ví dụ gọn ở trên để thấy bộ phân tích bỏ qua được gì.

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

Khối STYLE của SMI có sang TTML không?

Không. Mỗi cue SMI thành một phần tử <p> chỉ với begin, end và nội dung; định nghĩa trong <STYLE>, thuộc tính Class và phần đầu tài liệu bị bỏ. Đó là mất mát được liệt kê phía trên.

Tệp TTML xuất ra từ SMI có cấu trúc gì?

Mỗi cue là một <p> với begin và end, nằm trực tiếp trong <body>, phía trên là khai báo XML. Thứ tự và nội dung cue SMI được giữ nguyên.

Mốc thời gian SMI khi sang TTML có chính xác đến mili giây không?

Có. SMI ghi Start=4126 và TTML ghi 00:00:04.126; không làm tròn hay dịch chuyển. Cue dài 2,9 giây vẫn giữ đúng độ dài.

Cue SMI nhiều dòng thành gì trong TTML?

Các dòng được ngăn bằng <br/>, cách TTML viết xuống dòng cứng. Cả hai vẫn nằm trong một phần tử <p>, nên thuộc cùng một cue khi đọc lại.

TTML có giữ thứ tự cue của SMI không?

Có, và các cue được sắp theo begin tăng dần. Nếu tệp SMI gốc đặt <SYNC> lộn xộn, TTML xuất ra sẽ được xếp lại; nội dung từng cue không đổi.

Các khối <SYNC> chứa <P>&nbsp; của SMI có thành phần tử p trong TTML không?

Không. Khối đó không có nội dung chữ, chỉ xóa màn hình, không phải một cue, nên không tạo phần tử <p>. Nếu tạo, tài liệu sẽ có những cue rỗng vô nghĩa.

TTML do SMI tạo ra dùng bảng mã nào?

UTF-8, không BOM, kết thúc dòng LF. Bộ đọc chuyển tệp SMI từ UTF-16 hay bảng mã một byte sang UTF-8 trước khi ghi TTML, và báo lại trong bảng kết quả.

Công cụ liên quan