跳至主要內容
SubtitleMatrix

SMI 轉 MicroDVD

格式轉換SAMI(SMI)
或者貼上字幕文字

選項

時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。

這次轉換會改變什麼

有 4 項會被捨棄或需要你決定

  • 樣式

    全部樣式(粗體、斜體、顏色、外框、陰影)

  • 定位

    螢幕定位(每條字幕都會回到預設位置)

  • 影格率

    此格式以影格編號儲存時間——時間取決於你提供的影格率

  • 格式專屬內容

    來源格式保留在字幕之外的內容(非字幕區塊、檔案標頭文字、單條字幕的設定、被註解掉的事件)——目標格式沒有地方存放它們

這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。

這一頁把 SMI 轉成 MicroDVD:拖曳檔案進來,或直接貼上文字,選好影格率,就會拿回以影格號碼計時的版本。轉換完全在瀏覽器裡執行,不會上傳。

這兩種格式存的東西不同,而且差別不是外觀問題:樣式、定位、影格率與格式私有內容在 MicroDVD 裡都沒有落點。MicroDVD 不存樣式,也用一對影格號碼取代時鐘時間,所以影格率是轉換的輸入;預設 25 fps 時,四秒整是第 100 格。填錯影格率時開頭幾乎看不出來,影片越長偏得越遠。上方清單是從兩種格式各自能表達什麼算出來的。

單一檔案可以,整季影集也可以:佇列會依序處理,結果一起打包成一個 ZIP 下載。

範例

一份典型的 SMI 檔案轉成 MicroDVD

輸入

<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>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

輸出

{1}{1}25
{25}{75}Hello there.
{88}{150}How are you?|Fine, thanks.

這份產物丟掉了樣式、定位與精度;影格號碼由轉換時填的影格率換算。

同一轉換遇到格式紊亂的輸入

輸入

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

輸出

{1}{1}25
{63}{225}Line one|Line two
{225}{300}Tom &amp; Jerry

真實檔案常見的損壞就是這樣——混合換行、散落的空白、壞掉的 SYNC 區塊。拿它和上面那份乾淨樣本對照,就能看出解析器容忍到什麼程度。

常見問題

SMI 轉 MicroDVD 後,粗體、斜體與顏色會怎樣?

全部消失。MicroDVD 不存任何樣式,段落文字裡的 `<i>`、`<font color>` 與 `<STYLE>` 區塊的 CSS 都沒有落點,每行都寫成純文字。

SMI 轉 MicroDVD 後,螢幕定位會保留嗎?

不會。MicroDVD 無法指定字幕畫在哪裡,段落屬性與 CSS 會一併丟棄,每段字幕回到播放器的預設位置。

SMI 轉 MicroDVD 時,影格率要填多少?

填這批字幕對應影片的影格率;頁面預設 25 fps,四秒整是第 100 格。填錯時開頭幾乎看不出來,越到後面漂移越大。

SMI 的 <STYLE> 區塊與 Class 屬性在 MicroDVD 裡怎麼處理?

都會被丟棄。MicroDVD 存的是影格號碼加文字,`<STYLE>`、`<TITLE>` 與 `Class=ENCC` 都沒有欄位可放。

SMI 轉 MicroDVD 後,時間是怎麼換成 {25}{75} 的?

把毫秒時間乘以影格率再四捨五入:25 fps 時,1000 毫秒是第 25 格,3000 毫秒是第 75 格;第一行 `{1}{1}25` 則宣告影格率。

SMI 轉 MicroDVD 後,兩行的字幕怎麼寫?

合成一行,兩半之間用直線 `|` 分隔,例如 `How are you?|Fine, thanks.`。

SMI 轉 MicroDVD 時,亂序的字幕會怎麼處理?

MicroDVD 會依開始時間排序後再換算影格號碼;影格號碼必須遞增,否則播放器行為難以預期。

SMI 轉 MicroDVD 之後再轉回 SMI 會遺失什麼?

會遺失影格率。SMI 用毫秒時間,不需要影格率,所以反向轉換時那個參數沒有落點。

SMI 轉 MicroDVD 的產物第一行代表什麼?

代表影格率宣告 `{1}{1}25`,告訴播放器怎麼把影格號碼還原成時間;它不是一段字幕,也不計入 cue 數。

相關工具