跳至主要內容
SubtitleMatrix

字幕行數限制

文字樣式重排換行
或者貼上字幕文字

選項

一個欄位,五個選項,每個選項都有自己的頁面。重排 會把每條字幕重新按欄寬折行,既能把過長的行縮短,也可能把短行合併上來。只拆長行 只處理超過欄數的行,其餘原樣保留。均衡 保持每條字幕原有的行數,只在行之間挪動詞語,讓最長的那一行盡可能短。合併 把每條字幕並成一行。限制 對已經在行數上限內的字幕不做任何改動。這一頁會把欄位填成標題裡點名的選項,並且不列出其他選項。

一條字幕允許有多高。常用值是兩行。已經在行數上限內的字幕不做改動;永遠不會為了湊數刪文字,所以實在壓不進上限的字幕會被報告出來,而不是被縮短。

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

這一頁限制一條字幕最多可以佔幾行。給它一個數字,每一條超過這個數字的字幕就會被壓到那個數字,詞會流入更少、更長的行。每一條本來就在上限內的字幕會原樣通過,而不是被重寫。預設是 2,也是通常的數字,因為多數播放器與多數台內規範都要求一次最多顯示兩行字幕。

這裡的限制是行數,不是行寬。這一頁沒有欄數框,因為根本不涉及欄數限制:詞被塞進允許的行數裡,每一行最後該多長就多長。這就是它與按欄數換行那頁的分界。如果你的檔案寬度正確、卻有一條字幕攤成三四行,該用這一頁;如果行數正確但行太寬,你要的是換行那頁。

為了達到行數,什麼都不會被刪掉,這是整頁其他規則所依附的那一條。當唯一擋路的就是行數——三行普通對白剛好可以塞進兩行——字幕會降到上限。塞不進去時,字幕就留在上限之上,執行結果會回報它,所以你拿到的是一個「還有幾條太高」的數字,而不是一份悄悄少了半句話的檔案。

有一種塞不進去的情況值得點名,因為它很常見。以破折號開頭的行標記說話者變換,那些行彼此隔開;把其中兩行合併,會讓兩個人的對白擠在同一行。所以一條有三個說話者、上限是兩行的字幕會維持三行,並被算進「留在上限之上」的條數裡。工作在你的瀏覽器裡完成,不上傳,接受每條字幕能放多行的 11 種格式:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON 與 CSV。

範例

三行壓成兩行

輸入

1
00:00:01,000 --> 00:00:04,000
We could take the train
and be there by six
before the shops shut

2
00:00:05,000 --> 00:00:08,000
Already two lines
that fit fine

輸出

1
00:00:01,000 --> 00:00:04,000
We could take the train and be
there by six before the shops shut

2
00:00:05,000 --> 00:00:08,000
Already two lines
that fit fine

第一條字幕原本三行,回來是兩行,重新排成 30 欄與 34 欄——比原本的行更長,因為限制的是行數、寬度是自由的。過程中沒有拿掉任何一個詞:同樣的 11 個詞、同樣的順序。第二條本來就在上限內,所以完全沒有被重寫,這也是為什麼把這一頁跑在一份大部分正確的檔案上是安全的。

再也塞不進去的字幕

輸入

1
00:00:01,000 --> 00:00:04,000
- Then we walk
- All the way home
- And up the hill

輸出

1
00:00:01,000 --> 00:00:04,000
- Then we walk
- All the way home
- And up the hill

三行對上上限兩行,三行全部留下。每一行都以破折號開頭,標記說話者變換,而破折號隔開的區塊不能跟後面那個合併,否則兩個人的話會擠在同一行。這裡的問題從來不是寬度——三個區塊是 14、18、17 欄——所以要降到兩行,唯一的方法就是混掉說話者。這條字幕被留在上限之上並計數。

一條壓到兩行的中文字幕

輸入

1
00:00:01,000 --> 00:00:04,000
你好世界今天天气
很好我们出去玩吧
顺便买点东西回来

輸出

1
00:00:01,000 --> 00:00:04,000
你好世界今天天气很好我们
出去玩吧顺便买点东西回来

24 個中文字放在三行、每行八個,降成兩行、每行 12 個,也就是每行 24 欄。中文沒有空格,所以每個字都是斷點,兩行出來剛好等長。決定這件事的是行數不是寬度:這些行遠比拉丁字幕容許的 42 欄短,而頁面完全接受,因為它被要求的事跟寬度無關。

常見問題

限制每條字幕的行數,跟設定行長有什麼不同?

一個固定行數、讓寬度浮動,另一個固定寬度、讓行數浮動。這一頁取行數上限,把詞塞進去,所以字幕被壓縮時行會變長。換行頁取欄數,產生文字在該寬度內需要的行數,所以變的是行數。一條同時超過兩個限制的字幕,需要你先決定哪一個對你的播放器重要。

字幕沒辦法壓到行數上限時會怎樣?

會被留在上限之上,而執行結果會回報有幾條字幕如此,而不是把它截短來符合。常見原因是說話者破折號,那些行不能彼此合併。另一個選項是刪詞刪到塞得進去為止,而一個為了滿足數字而悄悄縮短你對白的工具,比一個留下太高的字幕並告訴你的工具更糟。

為什麼我兩行的字幕被完全放著不動?

因為兩行就在上限兩行之內。這個數字是天花板,不是目標:已經符合的字幕重新塞一遍沒有任何好處,而且會冒著移動那些為了閱讀節奏刻意放好的換行的風險。這也是為什麼當只有少數字幕太高時,這一頁可以安全地跑在整份檔案上——沒問題的會逐位元組通過。

為什麼我三行破折號台詞被留在上限之上?

因為每個破折號行都是不同的人在說話,而頁面不會把其中兩行併成一行。三個說話者配上限兩行,沒有任何排法能同時塞進去又把人分開,所以字幕維持三行,並被算進留在上限之上的條數。如果你真的要它們在一行,移除換行那頁會做,而且會回報它接起了幾個說話者斷點。

限制行數會從字幕裡刪掉文字嗎?

不會。詞是在行與行之間搬移,從來不會被移除,所以從三行變成兩行的字幕,裝的還是原本那些詞、原本的順序。唯一可能消失的是本來就空的那一行,因為空行不帶任何詞,而周圍的文字重新排列後,它只會變成一個雙倍的空隙。真正有話要說的東西都會留著。

哪些字幕格式可以限制行數?

每條字幕能放多行的 11 種:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON 與 CSV。純文字不提供,因為那種格式裡一行文字就是一條字幕,每條剛好只有一行,上限兩行永遠改變不了任何東西。格式是按內容而不是檔名辨識,執行時沒有任何檔案離開你的機器。

相關工具