SMI 轉 MicroDVD
或者貼上字幕文字
選項
時間以哪個影格率計算。在格式頁面上,這是 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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</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 & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
輸出
{1}{1}25
{63}{225}Line one|Line two
{225}{300}Tom & 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 數。