跳至主要內容
SubtitleMatrix

MicroDVD 轉 SSA

格式轉換MicroDVD(SUB)
或者貼上字幕文字

選項

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

這次轉換會改變什麼

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

  • 影格率

    來源檔案以影格編號儲存時間——每個時間戳記都取決於你提供的影格率

  • 精確度

    時間精確度——輸出的時間刻度較粗,因此每個時間戳記都會四捨五入到最接近的 10 毫秒

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

這一頁把 MicroDVD 寫成 SSA。每條字幕變成 `[Events]` 裡的一行 `Dialogue:`,開頭那個數字是 SSA 的 `Marked` 欄位,不是字幕序號;影格編號先除以影格率換成時鐘時間。

影格率依頁面欄位、檔案宣告、預設 25 的順序取用。範例檔宣告 23.976,但頁面欄位預設 25,所以 `{100}` 仍落在 4 秒——這個優先順序是刻意的,讓你能糾正錯的宣告。

兩樣東西沒有落點:影格率(SSA 存時鐘、不存影格編號)與精度(SSA 寫到百分秒,毫秒四捨五入到 10 ms,單條最多偏 5 ms)。SSA 能表達樣式與定位,但 MicroDVD 的來源裡沒有這些內容可帶,所以這一頁的損失清單比反方向短得多。`|` 寫成 `\N`,兩行仍在同一條字幕。

範例

一份典型的 MicroDVD 檔轉成 SSA

輸入

{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.

輸出

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:04.00,0:00:06.00,Default,,0,0,0,,The quick brown fox jumps over the lazy dog.
Dialogue: 0,0:00:08.00,0:00:10.40,Default,,0,0,0,,Faster than\Nthe last one.

這個方向丟掉的是影格率與精度;其餘逐行對應。

同一轉換遇到一份格式凌亂的檔案

輸入

{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.   

輸出

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:04.00,0:00:06.00,Default,,0,0,0,,Leading zeros in the frame numbers.
Dialogue: 0,0:00:12.00,0:00:13.60,Default,,0,0,0,,An unrecognized line above was kept in place.
Dialogue: 0,0:00:16.00,0:00:18.00,Default,,0,0,0,,Trailing spaces are kept.   

真實檔案常見的狀況:混合換行、BOM、散落的空白、帶前導零的影格編號、認不出的行。可以對照上面那份乾淨範例,看解析器能容忍到什麼程度。

常見問題

MicroDVD 轉 SSA 後,`Dialogue` 行開頭的數字是什麼?

是 `Marked` 欄位,SSA 的固定欄位之一,不是字幕序號。SRT 在同一個位置放的是編號,兩者不要混著讀。

MicroDVD 轉 SSA 的時間碼精度是多少?

百分秒。SSA 寫 `0:00:04.13`,毫秒換算結果四捨五入到最近的 10 ms,單條位移不超過 5 ms。

MicroDVD 轉 SSA 會保留影格編號嗎?

不會。`{100}{150}` 只用於換算時間,產物裡只有時鐘時間;影格率也沒有記錄欄位。

MicroDVD 轉 SSA 時影格率欄位和檔案第一行誰優先?

頁面欄位優先。檔案裡的宣告只在你把欄位留空時生效;兩者都缺才用預設 25,並在有損說明裡寫明整條時間軸是按預設值猜的。

MicroDVD 轉 SSA 時兩行字幕怎麼寫?

用 `\N` 連接,仍在同一條 `Dialogue:` 裡,這是 SSA 的硬換行寫法。

SSA 再轉回 MicroDVD 會丟掉什麼?

丟掉樣式、定位、卡拉 OK、影格率與格式私有構造;SSA 的樣式表與覆寫碼在 MicroDVD 裡沒有落點。

MicroDVD 轉 SSA 的產物用什麼編碼?

UTF-8、LF 換行、無 BOM;來源編碼不同時會先解碼並在結果面板說明,輸出一律相同。

相關工具