Định dạng phụ đề SMI
Định dạng này có thể biểu đạt gì
- Định dạng hiển thị văn bản
- Đậm và nghiêng
- Vị trí trên màn hình
- Có
- Thời gian karaoke
- Không
- Xuống dòng trong một cue
- Có
- Dòng thời gian
- Thời điểm bắt đầu và kết thúc cho mọi cue
- Độ phân giải thời gian
- 1 ms
- Thời gian lưu dưới dạng số khung hình
- Không
- Văn bản phải sang trái
- Có
Ví dụ
Một tệp SMI điển hình, và những gì đọc ra từ nó
Tệp
<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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Tệp chứa gì
2 cues, 3 lines of text
Start=1000 = 00:00:01.000 → 00:00:03.000
Hello there.
[Class=ENCC]
Start=3500 = 00:00:03.500 → 00:00:06.000
How are you?
Fine, thanks.
[Class=ENCC]
Outside the cues:
head a <STYLE> block with CSS for the paragraphs, kept as it came in
cue ends the next <SYNC> tag — a SAMI file writes no end time of its own
clearing a <P> block blanks the screen; the two here are kept as clearing blocks, not turned into cuesCột bên phải không phải tệp đã chuyển đổi — đó là những gì trang này đọc được từ cột bên trái, và là điểm xuất phát của mọi phép chuyển đổi.
Một tệp SMI lộn xộn, và những gì vẫn đọc được
Tệp
<SAMI>
<BODY>
<SYNC Start=abc>
<P Class=ENCC>this block's start cannot be read
<SYNC Start=2000>
<SYNC Start=4000>
<P>no attributes here<br>second line
<SYNC Start="6000">
some loose text before any P
</BODY>
</SAMI>Tệp chứa gì
3 cues, 3 lines of text
Start=2000 = 00:00:02.000 → 00:00:04.000
(no text)
Start=4000 = 00:00:04.000 → 00:00:06.000
no attributes here
second line
Start=6000 = 00:00:06.000 → 00:00:08.000
some loose text before any P
Outside the cues:
head no <STYLE> block and no <TITLE> — just the <SAMI> and <BODY> tags
cue ends the next <SYNC> tag; the last cue has none after it, so its end time was given a default
loose text text between two <SYNC> tags that belongs to no <P> is kept and attached to the cue open at that point
Reported while reading — repaired or skipped, never silently:
1 × SYNC blocks whose start time could not be read (they were skipped)
1 × the last cue has no following timestamp, so its end time was generatedTệp thật thường có BOM, kết thúc dòng Windows, thẻ đóng thiếu, hoặc Class trỏ vào kiểu không tồn tại. Không trường hợp nào làm chương trình lỗi: phần không hiểu được sẽ được báo lại thay vì lặng lẽ bỏ đi.
Chuyển SAMI (SMI) sang định dạng khác
Mỗi công cụ trong số này chạy hoàn toàn trong trình duyệt của bạn. Nhãn cho biết hướng đó tốn kém gì trước khi bạn mở nó.
- Độ chính xác
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Nội dung riêng của định dạng
- Nội dung riêng của định dạng
- Mốc thời gian
- Định dạng hiển thị
- Vị trí
- Độ chính xác
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Tốc độ khung hình
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Nội dung riêng của định dạng
- Định dạng hiển thị
- Vị trí
- Nội dung riêng của định dạng
- Độ chính xác
- Nội dung riêng của định dạng
- Nội dung riêng của định dạng
- Mốc thời gian
- Định dạng hiển thị
- Vị trí
- Xuống dòng
- Nội dung riêng của định dạng
- Vị trí
- Nội dung riêng của định dạng
Chuyển đổi sang định dạng này
- SubRip (SRT) → SAMI (SMI)
- WebVTT (VTT) → SAMI (SMI)
- Advanced SubStation Alpha (ASS) → SAMI (SMI)
- SubStation Alpha (SSA) → SAMI (SMI)
- YouTube SBV → SAMI (SMI)
- LRC Lyrics → SAMI (SMI)
- MicroDVD → SAMI (SMI)
- TTML (Timed Text) → SAMI (SMI)
- SubtitleMatrix JSON → SAMI (SMI)
- Plain Text (TXT) → SAMI (SMI)
- CSV Spreadsheet → SAMI (SMI)
SMI là định dạng SAMI của Microsoft, và đây là trang tham chiếu của nó: nó lưu được gì, không lưu được gì, và một trang cho mỗi định dạng bạn có thể chuyển sang.
SMI trông giống HTML nhưng không phải HTML: các cue nằm sau thẻ <SYNC> tính bằng mili giây, còn kiểu dáng và vị trí do <STYLE> cùng thuộc tính Class quyết định. Bảng phía trên cho biết phần nào trong đó sống sót khi đi sang từng định dạng khác.
Mọi phép chuyển đổi chạy trong trình duyệt. Không tải tệp lên và không cần tài khoản, nên tài liệu nội bộ hay bản tin chưa phát vẫn giữ nguyên trên máy bạn. Các trang chuyển đổi liên kết bên dưới đều xử lý hàng loạt.
Câu hỏi thường gặp
Tệp SMI là gì và khác HTML ở chỗ nào?
SMI là SAMI của Microsoft: một tài liệu giống HTML với <SYNC Start=…> đánh dấu thời điểm và <P> chứa lời. Nó không phải HTML thật — trình duyệt không hiển thị trực tiếp mà cần trình phát hiểu SAMI.
SMI lưu thời gian bằng đơn vị nào?
Bằng mili giây, ghi trong thuộc tính Start của thẻ <SYNC>, ví dụ Start=4126. Đó là mốc bắt đầu; kết thúc lấy theo thẻ <SYNC> kế tiếp, dù đó là khối xóa màn hình <P> hay cue sau, và cue cuối cùng thì cộng thêm 2000 ms.
SMI biểu đạt kiểu dáng và vị trí ra sao?
Qua khối <STYLE> định nghĩa các Class, rồi mỗi <P> gắn Class tương ứng. Nhờ vậy SMI đặt được phông, màu và vị trí trên màn hình — điều mà SRT hay SBV không có.
Có thể chuyển SMI sang định dạng nào mà không mất dữ liệu?
Không định dạng nào trong nhóm còn lại giữ được đủ kiểu dáng, vị trí và các khối ngoài cue của SMI. JSON và TTML chỉ mất phần ngoài cue, còn VTT mất thêm vị trí; SRT mất cả kiểu dáng.
Có thể mở tệp SMI bằng trình soạn thảo văn bản không?
Được. Tệp .smi là văn bản với thẻ HTML-like, nên mở bằng trình soạn thảo sẽ thấy <SYNC>, <P> và <STYLE>. Nhưng đừng sửa tay nếu không quen: một thẻ đóng thiếu có thể làm cả tệp bị đọc sai.