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

Chuyển CSV 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.

Trang này chuyển đổi CSV sang SMI. 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 SMI. 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.

CSV và SMI giữ được cùng một lượng thông tin — mốc bắt đầu, mốc kết thúc, chữ và thứ tự — nên chiều này không mất gì; SMI chỉ ghi chúng bằng thẻ. Danh sách 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 CSV thông thường, chuyển sang SMI

Đầu vào

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second 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>The quick brown fox.
<SYNC Start=3500>
<P>&nbsp;
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>&nbsp;
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>&nbsp;
</BODY>
</SAMI>

Không mất gì ở chiều này: mốc thời gian, chữ và thứ tự của CSV đều có chỗ trong cue SMI.

Cùng phép chuyển trên một tệp lộn xộn

Đầu vào

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

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, friend.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>&nbsp;
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>&nbsp;
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>&nbsp;
</BODY>
</SAMI>

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

Kết quả CSV sang SMI trông như thế nào?

Mỗi hàng CSV thành một khối `<SYNC Start=…>` với chữ trong `<P>` bên dưới, không có số thứ tự hay dòng timecode. Sau mỗi cue có `<P>&nbsp;` để xóa màn hình trước cue kế tiếp.

Mốc thời gian của CSV có chính xác trong SMI không?

Có, tới mili giây. CSV ghi `00:00:04.126` và SMI ghi `Start=4126`; không có làm tròn hay dịch chuyển, nên độ dài cue giữ nguyên.

Một ô CSV hai dòng ra sao trong SMI?

Hai dòng trong ô được nối bằng `<br>`, cách SAMI ghi ngắt dòng cứng. Hai dòng vẫn thuộc một cue và hiển thị cùng lúc.

Các hàng CSV có giữ thứ tự trong kết quả SMI không?

Có, và được sắp theo cột start trước khi ghi. Tệp CSV lộn thứ tự sẽ cho SMI đúng thứ tự; chỉ cấu trúc tệp thay đổi, chữ không đổi.

Tôi có chuyển ngược SMI về CSV được không?

Được, nhưng chiều SMI sang CSV bỏ kiểu chữ, vị trí và nội dung riêng của định dạng, vì bảng chỉ có ba cột start, end, text. Danh sách mất mát của chiều ngược khác phía trên.

Kết quả SMI có giữ encoding của tệp CSV không?

Không. SMI xuất ra là UTF-8, kết thúc dòng kiểu Unix và không có BOM, bất kể CSV đầ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.

Công cụ liên quan