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

Chuyển SMI sang VTT

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

  • Vị trí

    vị trí trên màn hình (mọi cue trở về vị trí mặc đị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 VTT. 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 VTT. 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ứ: VTT giữ được thời gian và văn bản, nhưng không có chỗ cho vị trí đặt qua Class của SAMI hay các khối ngoài cue. Danh sách mất mát phía trên tính từ khả năng của hai định dạng chứ không từ tệp của bạn.

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 VTT

Đầ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ả

WEBVTT

00:00:01.000 --> 00:00:03.000
Hello there.

00:00:03.500 --> 00:00:06.000
How are you?
Fine, thanks.

Bị mất trong kết quả: vị trí và 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ả

WEBVTT

00:00:02.500 --> 00:00:09.000
Line one
Line two

00:00:09.000 --> 00:00:12.000
Tom &amp; Jerry

Đâ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

Vị trí trên màn hình của SMI có được giữ trong VTT không?

Không. SMI đặt vị trí qua Class trong <STYLE>, còn VTT không nhận thông tin đó; cue xuất ra không có phần đặt vị trí. Đây là một trong những mất mát phía trên.

Tệp VTT xuất ra từ SMI có dạng gì?

Mỗi cue có một dòng thời gian với dấu chấm trước mili giây, rồi phần chữ. Không có dòng định danh vì SMI không mang số cue; nội dung và thứ tự cue được giữ nguyên.

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

Có. SMI ghi Start=4126 và VTT ghi 00:00:04.126; cùng một mốc, không làm tròn. Cue dài 2,9 giây vẫn giữ nguyên độ dài.

Cue SMI hai dòng được ghi thế nào trong VTT?

Hai dòng nằm liền nhau trong cùng một cue VTT, không còn thẻ <br>. Quan hệ giữa chúng được giữ, nên trình phát hiển thị đồng thời.

Khối STYLE và Class của SMI đi đâu khi chuyển sang VTT?

Chúng bị bỏ. VTT có khối STYLE riêng nhưng không nhận định nghĩa từ SAMI, và Class không được chuyển thành ::cue. Chỉ thời gian và văn bản được giữ.

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

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

Chuyển VTT ngược về SMI mất gì?

Mất vị trí và kiểu dáng: VTT không mang thông tin đó, nên SMI dựng lại chỉ có thời gian và chữ. Chiều SMI sang VTT đã bỏ vị trí ngay từ đầu.

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

UTF-8, không BOM, kết thúc dòng LF. Mọi tệp SMI đều được giải mã trước, kể cả UTF-16 hay bảng mã Windows, rồi mới ghi VTT.

Công cụ liên quan