字幕依行長重排
或者貼上字幕文字
選項
一個欄位,五個選項,每個選項都有自己的頁面。重排 會把每條字幕重新按欄寬折行,既能把過長的行縮短,也可能把短行合併上來。只拆長行 只處理超過欄數的行,其餘原樣保留。均衡 保持每條字幕原有的行數,只在行之間挪動詞語,讓最長的那一行盡可能短。合併 把每條字幕並成一行。限制 對已經在行數上限內的字幕不做任何改動。這一頁會把欄位填成標題裡點名的選項,並且不列出其他選項。
按欄而不是字元計算,所以一個漢字或日文假名佔兩欄,一個帶重音的拉丁字母佔一欄。拉丁字母字幕常用 42。調小會讓行更短但行數更多;任何內容都不會被截掉。
時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。
這一頁把你選定的行長重排每一條字幕的文字。超過長度的行會在詞的邊界斷開;不足長度的行,在跟上一行放得下時會被拉回去。它是這一族裡同時做兩件事的一頁,所以當一份檔案的斷行是「漂移了」而不是某一行太長時,就是它。
長度按欄計算,不是按字數。一個中文字佔兩欄、一個拉丁字母佔一欄,所以上限 42 可以放 21 個中文字或 42 個拉丁字母。42 是拉丁文字字幕用了幾十年的數字,也是這裡的預設。為了符合數字,什麼都不會被切掉:頁面移動換行、不動詞,所以任何斷法都帶不進上限的行會被回報,而不是被硬塞。
行首的破折號標記說話者變換。那些行是牆。頁面會重排在牆兩邊的詞,但不會把其中兩行併成一行,因為把兩個人的對白放進一行,正是那些破折號被寫來防止的閱讀錯誤。如果你要拆掉那道牆,移除換行那頁做的正是這件事,而且會數給你它拆了幾個。
全部在你的瀏覽器裡發生。沒有檔案被上傳,也不用註冊。每條字幕能放多行的 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
2
00:00:05,000 --> 00:00:09,000
I told you we would miss the last train if we stayed any longer
輸出
1
00:00:01,000 --> 00:00:04,000
We could take the train and be there by
six
2
00:00:05,000 --> 00:00:09,000
I told you we would miss the last train if
we stayed any longer
同一份檔案裡兩個相反的問題,都在預設的 42 欄修好。第一條以 23 欄與 19 欄進來,合起來是 43——超過上限一欄——所以頁面把它們接起來,然後立刻往前一個詞再斷一次,留下 39 與 3。第二條原本是一行 63 欄,出來是 42 與 20。兩條都沒有增減任何東西:詞一樣,只是詞之間的斷點移動了。第一條那條三欄的尾巴,是貪心塞滿而不是平均切分的誠實代價。
一行中文,一個字算兩欄
輸入
WEBVTT
00:00:01.000 --> 00:00:04.000
你好世界今天天气很好我们出去玩吧顺便买点东西回来
輸出
WEBVTT
00:00:01.000 --> 00:00:04.000
你好世界今天天气很好我们出去玩吧顺便买点东
西回来
24 個中文字是 48 欄,所以這一行超過上限,在第 21 個字後斷開。按字數算的工具會把 24 當成短行、放著不管,而兩行的中文字幕就是這樣變成旁邊兩行英文字幕的兩倍寬。文字裡沒有空格可斷,所以每個字都是自己的斷點,斷點落在句子中間,而那本來就是中文字幕預期斷開的地方。
兩個說話者,兩行
輸入
1
00:00:01,000 --> 00:00:04,000
- Then we walk
- All the way home
輸出
1
00:00:01,000 --> 00:00:04,000
- Then we walk
- All the way home
檔案逐位元組回來,而那是正確結果不是失敗。兩行是 14 欄與 18 欄,合起來放得進一行 32 欄,但每一行都以破折號開頭,那表示不同的人在說話。合併等於把一個演員的台詞交給另一個人。兩行各自都沒有超過上限,所以也沒有別的事可做,而一次沒什麼可回報的執行就什麼都不回報。
常見問題
字幕換行重排是怎麼決定斷在哪裡的?
這條字幕的詞依序排下去,在第一個會讓該行超過欄數的詞之前斷開。那是貪心塞滿,不是平均切分:第一行塞到不能再塞,剩下的往下一行放。結果是行被塞滿而不是被平衡,當目標是讓一條字幕用最少的行數放下時,這正是你要的。如果你的檔案行數已經正確、只想讓它們看起來平均,那是平衡換行那頁的事。
為什麼我短短的第二行被接到第一行了?
因為它們合起來放得進上限。重排把整條字幕當成一段文字從頭排一遍,所以檔案原本的斷行不會只因為它在那裡就被保留。這就是這一頁跟只斷長行那頁的差別:那頁把每一條已經很短的行留在原位,這一頁可能把它拉上去。如果那個斷行是刻意的,它需要一個破折號,或者需要那頁而不是這頁。
換行重排的長度是按字數還是按欄數算?
按欄數,那才是字幕行真正被量測的單位。一個拉丁字母、一個數字與一個空格各佔一欄;一個中文字、一個韓文音節與一個 emoji 佔兩欄。所以上限 42 接受 42 個拉丁字元或 21 個中文字,兩行在螢幕上一樣寬。按字數算的話,同樣的設定下每一份中文字幕的行都會是英文的兩倍長。
為什麼我兩行破折號台詞重排後沒有被併成一行?
因為行首的破折號表示換人說話,把其中兩行併起來會讓兩個人的對白擠在同一行。頁面把這種行當成不能跨越的區塊,只在每個區塊內部重排,區塊本身留在原處。上面例子裡的行短到足以合在一起,卻還是因為這個理由分開。如果你真的要它們接起來,移除換行那頁會接,並回報它拆了幾個說話者斷點。
比字幕行長度還長的詞會怎樣?
它自己佔一行並維持超過上限,執行結果回報還有一行超標。單一個詞裡沒有任何不會同時改變那個詞的斷點,而改你的文字不是行長設定該做的事。德文複合詞與很長的網址是常見的情況。如果你需要把這種行帶進欄數內,斷點必須落在詞裡面,而那是一個你刻意做的編輯,不是工具替你做。
哪些字幕格式可以按行長重排?
每條字幕內能放多行的 11 種:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON 與 CSV。純文字是唯一被排除的格式,理由是文字檔定義上就是一行一條字幕,字幕內部沒有換行可以讓這一頁搬,產物會與輸入相同。任何時刻都不上傳檔案的任何部分,格式是按內容而不是檔名讀出來的。