MicroDVD 轉 SMI
或者貼上字幕文字
選項
時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。
這次轉換會改變什麼
有 1 項會被捨棄或需要你決定
- 影格率
來源檔案以影格編號儲存時間——每個時間戳記都取決於你提供的影格率
這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。
這一頁把 MicroDVD 寫成 SAMI(SMI):每條字幕是一個 `<SYNC Start=毫秒>` 加一個 `<P>`。因為一條 SYNC 會替換畫面上的全部內容,每條字幕後面還要補一個 `<P> `,把畫面清空。
時間精確到毫秒:`{100}` 在 25 fps 下寫成 `Start=4000`,`{150}` 寫成 `Start=6000`。影格率仍依頁面欄位、檔案宣告、預設 25 的順序取用,頁面欄位優先;影格編號本身不保留,SAMI 也沒有記錄影格率的欄位。
`|` 會寫成 `<br>`,兩行仍在同一個 `<P>` 裡。產物是 `<SAMI>`、`<HEAD>`、`<BODY>` 的完整文件,帶一個只做置中與字型的最小樣式區塊;MicroDVD 沒有樣式可帶過來,所以這裡沒有別的可丟。輸出 UTF-8、LF、無 BOM,批次可取消。
範例
一份典型的 MicroDVD 檔轉成 SMI
輸入
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
輸出
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=4000>
<P>The quick brown fox jumps over the lazy dog.
<SYNC Start=6000>
<P>
<SYNC Start=8000>
<P>Faster than<br>the last one.
<SYNC Start=10400>
<P>
</BODY>
</SAMI>
這個方向丟掉的是影格率;其餘逐行對應。
同一轉換遇到一份格式凌亂的檔案
輸入
{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.
輸出
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=4000>
<P>Leading zeros in the frame numbers.
<SYNC Start=6000>
<P>
<SYNC Start=12000>
<P>An unrecognized line above was kept in place.
<SYNC Start=13600>
<P>
<SYNC Start=16000>
<P>Trailing spaces are kept.
<SYNC Start=18000>
<P>
</BODY>
</SAMI>
真實檔案常見的狀況:混合換行、BOM、散落的空白、帶前導零的影格編號、認不出的行。可以對照上面那份乾淨範例,看解析器能容忍到什麼程度。
常見問題
MicroDVD 轉 SMI 時,每條字幕後面的 `<P> ` 是做什麼的?
用來清屏。SAMI 的 `<SYNC>` 意思是「從此刻起顯示這些內容」,不寫一條空內容,上一條字幕會一直留在畫面上;` ` 讓畫面在結束時刻回到空白。
MicroDVD 轉 SMI 的 `Start=` 是什麼單位?
毫秒。第 100 個影格在 25 fps 下是 `Start=4000`,第 150 個是 `Start=6000`,換算結果不四捨五入。
MicroDVD 轉 SMI 時兩行字幕怎麼寫?
在同一個 `<P>` 裡用 `<br>` 分開。它仍然是一條字幕,結束時刻由下一條 SYNC 決定。
MicroDVD 轉 SMI 會保留影格編號嗎?
不會。SAMI 只認毫秒,影格編號與影格率都不會出現在產物裡。
SMI 再轉回 MicroDVD 會丟掉什麼?
丟掉樣式、定位、影格率與格式私有構造。SAMI 的 CSS 區塊與 `<SYNC>` 結構都不在 MicroDVD 的模型裡。
MicroDVD 轉 SMI 時影格率欄位留空會怎樣?
先讀檔案第一行的宣告,沒有宣告才用預設 25,並在有損說明裡寫明;用上預設值時整條時間軸都是按 25 猜的。