跳至主要內容
SubtitleMatrix

MicroDVD 轉 SRT

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

選項

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

這次轉換會改變什麼

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

  • 影格率

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

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

MicroDVD 把一條字幕存成一對影格編號加上中間的正文:檔案寫的是從第 100 個影格到第 150 個影格,而不是從 1.2 秒到 1.8 秒。要變成 SRT,第一步是把影格編號換算成時間,而這一步需要影格率——也就是這份字幕當初是按多少影格寫的。檔案第一行有宣告時可以參考,但頁面上的影格率欄位優先,欄位留空才輪到宣告,兩者都沒有就落到預設的 25。

換算本身是除法:影格編號除以影格率得到時刻。25 fps 下第 100 個影格是四秒,第 150 個是六秒,於是這條字幕寫成 `00:00:04,000 --> 00:00:06,000`。正文裡的豎線是格式的硬換行寫法,產物裡變成換行,兩行仍留在同一條字幕裡,不會被拆成兩條。

影格率填錯不是精度問題,而是整條時間軸按比例偏。23.976 的素材按 25 讀,開頭幾秒幾乎看不出來,一小時後會差出看得見的秒數;SRT 裡也沒有任何欄位能記錄這個值。所以影格率欄位放在頁面上,而不是埋在某個預設值裡;輸出固定 UTF-8、LF、無 BOM。

範例

一份典型的 MicroDVD 檔轉成 SRT

輸入

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

輸出

1
00:00:04,000 --> 00:00:06,000
The quick brown fox jumps over the lazy dog.

2
00:00:08,000 --> 00:00:10,400
Faster than
the 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.   

輸出

1
00:00:04,000 --> 00:00:06,000
Leading zeros in the frame numbers.

2
00:00:12,000 --> 00:00:13,600
An unrecognized line above was kept in place.

3
00:00:16,000 --> 00:00:18,000
Trailing spaces are kept.   

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

常見問題

MicroDVD 轉 SRT 該用哪一個影格率?

用這份字幕當初對應的影片影格率:電影常見 23.976 或 24,PAL 是 25,北美廣播是 29.97。檔案第一行的宣告可以參考,但複製來的 `.sub` 經常被寫死成 25,所以在頁面欄位填你手上影片的真實影格率更可靠。

MicroDVD 轉 SRT 時影格率欄位留空會怎樣?

仍然會轉換:檔案有宣告就用宣告,沒有就按 25 算,並在報告裡寫明用了預設值。25 對 PAL 正確,對別的素材會偏——24 fps 的片子放到結尾大約差 4%。

MicroDVD 的 `{100}{150}` 怎麼變成 `00:00:04,000`?

影格編號除以影格率。25 fps 下 100 ÷ 25 = 4 秒,150 ÷ 25 = 6 秒,於是寫成 4.000 到 6.000;SRT 用逗號分隔毫秒。

MicroDVD 正文裡的豎線在 SRT 裡變成什麼?

變成換行。豎線是 MicroDVD 的硬換行分隔符,產物把兩行寫進同一條字幕,播放器會一起顯示。

MicroDVD 轉 SRT 後,原本的影格編號還在嗎?

不在。SRT 只存時鐘時間,影格編號不會寫在時間碼旁邊;需要影格編號(例如交給按影格工作的影片工具)請保留原始檔案。

相關工具