Chuyển SRT sang SMI
Hoặc dán văn bản phụ đề
Chuyển đổi này thay đổi điều gì
Không mất gì theo hướng này — mọi tính năng của định dạng nguồn đều có chỗ để đi trong định dạng đích.
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 SRT chỉ là danh sách cue kèm mốc thời gian, nên phép chuyển đổi bắt đầu từ một dòng thời gian sạch. Trang này chuyển tệp SRT 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.
Hướng này không mất gì: mọi thứ SRT diễn đạt được đều có chỗ trong SMI, nên đầu ra là cùng một phụ đề trong lớp vỏ khác — dòng thời gian, chỗ xuống dòng và chữ đều còn.
Tệp được xử lý cục bộ trong trình duyệt, không qua máy chủ và không cần đăng nhập. Thả một tệp hay cả loạt tệp đều được: chúng chạy lần lượt, có thể hủy, và kết quả gộp trong một tệp ZIP.
Ví dụ
Một tệp SRT thông thường, chuyển sang SMI
Đầu vào
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
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=3500>
<P>
<SYNC Start=3500>
<P><i>Whispering</i> now.<br>And a second line.
<SYNC Start=6000>
<P>
<SYNC Start=6000>
<P><b>Bold</b> statement.
<SYNC Start=9250>
<P>
</BODY>
</SAMI>
Không có gì bị bỏ ở hướng này: mọi dòng và mốc thời gian của tệp vào đều có mặt trong tệp ra.
Cùng phép chuyển SRT sang SMI trên một tệp lộn xộn
Đầu vào
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
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><b>Bold</b> and <i>italic</i>.
<SYNC Start=3500>
<P>
<SYNC Start=3500>
<SYNC Start=6000>
<P>
<SYNC Start=8000>
<P>Last one.
<SYNC Start=9000>
<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
Khi chuyển SRT 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 SRT thành một cue SMI, giữ nguyên thứ tự.
Mốc thời gian của SRT có bị làm tròn khi sang SMI không?
Không. SRT 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 SRT 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 SRT 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 SRT 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 SRT 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ề SRT thì mất những gì?
Hướng SMI về SRT bỏ kiểu chữ và bảng kiểu, 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 SRT đầ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 SRT 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.