Chuyển VTT sang SMI
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.
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 SMI. Mỗi cue thành một thẻ <SYNC Start=…> với phần chữ nằm trong <P>, và một khối <P> theo sau để trả màn hình về trống.
Không phải mọi thứ đều đi qua. SMI không giữ được 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.
Không có byte nào của phụ đề rời khỏi máy bạn — việc đọc và ghi diễn ra ngay trong tab trình duyệt. Với cả mùa phim, hàng đợi chạy từng tệp một, có thể dừng giữa chừng, và cuối cùng bạn tải về một tệp ZIP duy nhất.
Ví dụ
Một tệp VTT thông thường, chuyển sang SMI
Đầ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ả
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>
<SYNC Start=4500>
<P>Second line with <i>italics</i>.
<SYNC Start=8000>
<P>
</BODY>
</SAMI>
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 SMI.
Cùng phép chuyển VTT sang SMI 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ả
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>No header, two lines before the timecode.
<SYNC Start=2000>
<P>
</BODY>
</SAMI>
Đâ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
Các khối NOTE, STYLE và REGION của VTT sang SMI 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; SMI 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.
Khi chuyển VTT sang SMI, tệp đầu ra trông như thế nào?
Mỗi cue là một thẻ <SYNC Start=…> với phần chữ trong <P> bên dưới, kèm một khối <P> để trả màn hình về trống. Mỗi cue của VTT thành một cue SMI, giữ nguyên thứ tự.
Mốc thời gian của VTT có bị làm tròn khi sang SMI không?
Không. VTT và SMI đều ghi tới mili giây, nên 00:00:01.234 thành 1234 rồi quay lại nguyên vẹn: không mất mát, không dịch chuyển, không đổi thứ tự.
Một cue VTT có hai dòng sẽ ra sao trong tệp SMI?
Thành hai dòng nối bằng <br>, cách SAMI viết xuống dòng cứng. Cặp dòng sống sót: hai dòng của VTT vẫn thuộc một phụ đề trong SMI, và trình phát hiện chúng cùng lúc.
Thứ tự các cue VTT có được giữ khi ra SMI?
Có, và chúng được sắp theo thời điểm bắt đầu trên đường ra — sớm nhất trước, cách mọi định dạng ở đây chờ đợi và trình phát đọc. Nếu tệp VTT liệt kê lộn xộn, đầu ra SMI xếp lại; đó là thay đổi cấu trúc tệp chứ không phải nội dung, và là chủ ý.
Chuyển ngược từ SMI về VTT thì mất những gì?
Hướng SMI về VTT bỏ vị trí trên màn hình và cấu trúc riêng của định dạng nguồn. Danh sách đó khác với hướng này vì hai định dạng giữ những thứ khác nhau.
Tệp SMI xuất ra dùng encoding gì, và tệp VTT đầu vào thì sao?
Tệp SMI xuất ra luôn là UTF-8, kết thúc dòng kiểu Unix (LF) và không có BOM, bất kể tệp VTT dùng gì. Đầu vào bằng UTF-16 hoặc bảng mã một byte của Windows được giải mã khi đọc, và bảng kết quả ghi lại việc đó; thứ ra khỏi công cụ luôn là cùng một định dạng UTF-8.