跳至主要內容
SubtitleMatrix

兩份字幕合併為一份

文字樣式把兩軌合併成一份雙語檔案
或者貼上字幕文字
或者貼上第二個檔案的文字

選項

兩份字幕很少能一條一條完全對上,這個選項決定所有不一致的地方怎麼處理。只要一個檔案裡的某條字幕與另一個檔案裡的某條在時間上重疊,兩者就視為同一時刻並合併,重疊的長度決定結果在畫面上停留多久。其餘部分由這個選項決定。保留兩個檔案 會把每一條沒有對上的字幕都作為單獨一行加進來,兩個輸入裡一個字都不會少 —— 但第二個檔案原本的時間不會被保留,因為沒有對上的字幕仍然得放在第一個檔案的時間軸上的某處。保留第一個檔案的時間軸 則相反:第一個檔案的字幕保持原樣的開始與結束,不插入任何新內容,第二個檔案裡沒對上的字幕會被捨棄。執行後的報告總會說明捨棄了多少條。

兩條字幕被視為同一時刻之後,它們的文字必須共用畫面。排成兩行 是雙語字幕常見的播出方式,也是大多數播放器期待的形式:第一個檔案的行在上,第二個檔案的行在下,這條字幕變成雙行字幕。這要求該格式允許換行,所以所有只能把一條字幕存成一行的格式都被排除在這一頁之外,而不是在這裡悄悄壓平。接成一行 會把兩種語言放在同一行,用下方欄位裡輸入的字元分隔 —— 當讀者應該先看到譯文、原文作為補充時正合適,那是譯者的字幕,而不是雙語播出的字幕。

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

這一頁把兩份字幕合成一份。原文放第一個框、譯文放第二個框,凡是與另一份共享螢幕時間的字幕,就合成一條同時裝著兩種文字的字幕——原文在上、譯文在下。這就是雙語播出需要的檔案:一條軌、一個檔案、一次載入,而不是兩條播放器會讓觀眾隨手關掉的軌,或 DVD 製作工具直接拒收的兩份檔案。

配對按時間,不按位置。兩份字幕數相同的檔案看起來可以逐行對,但原文與譯文的字幕數正好最容易不同:譯者會把一句長英文拆成兩句短中文,或把兩個問句併成一句。所以只有時間範圍重疊的字幕才配對。完全對不上的字幕是關鍵情況,由第一個選項決定怎麼處理:保留兩份檔案時,每一條都以獨立字幕帶過來,兩份輸入一個字都不少——代價是產物不再是任何一方精確的時間軸,因為對不上的字幕還是得有個位置。保留第一份時間軸則相反:第一份的字幕起止原樣出來,中間不插東西,第二份裡對不上的全部丟棄,數量寫進執行後的報告。

第二個選項決定兩段文字怎麼共用畫面。兩行是雙語字幕常規的播出方式,也是多數播放器預期的樣子:第一份在上、第二份在下。一行則用你輸入的分隔符把兩段文字連起來——帶空格的斜線、帶空格的破折號、直線,或什麼都不加(中日這種組合的慣例)。兩行要求格式允許字幕內換行;把字幕存成單行的格式因此被排除在這一頁之外,而不是被悄悄壓平。

這裡每一種格式都按同樣方式讀取:SRT、WebVTT、ASS、SSA、SBV、SAMI、TTML、JSON 與 CSV。MicroDVD 不算,因為它的字幕是一行影格號;LRC 不算,因為它不存結束時間,而配對全靠結束時間;純文字兩者都沒有。兩份檔案格式不同沒關係——每個框都按內容判讀。檔案不會上傳:兩份都在這個瀏覽器分頁裡讀入、合併、寫出,對任何處理不能離開本機素材的人來說,這正是這一頁存在的理由。兩個框都能放多個檔案,一個框的第一份配另一個框的第一份,所以一整季可以一次跑完。

範例

兩份對得上的檔案,合併成兩行

輸入

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

輸出

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

兩條字幕的時間完全重疊,所以都配對,每一對出來是兩行,第一份在上面。什麼都沒丟、什麼都沒動,所以執行後的報告會這樣說。字幕編號是第一份自己的——只要產物裡每一條都來自第一份就會如此;第二份有對不上的字幕才會改變這件事,第三個例子會示範。

同樣兩份檔案,合併成一行

輸入

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

輸出

1
00:00:01,000 --> 00:00:03,000
Good morning. / 早上好。

2
00:00:05,000 --> 00:00:07,000
How are you? / 你好吗?

配對相同、時間相同,排成一行,兩種語言之間是帶空格的斜線。這一行比任何一份輸入都長,所以在限制每行字元數的頁面上,這份檔案可能被報成超限——那是版面的真實後果,不是四捨五入的誤差。把分隔符留空是另一個真實選項:兩段文字直接相接,中日並排通常就是這樣。

第二份裡對不上任何東西的字幕

輸入

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

輸出

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

3
00:00:05,000 --> 00:00:07,000
How are you?

第二條中文字幕的開始,正好是第一條英文字幕結束的那一刻,而在前一條結束時才開始不算同一段時間——那是兩條字幕,不是一條。所以它以獨立一條、自己的時間出現在檔案中間。由於產物裡有不是來自第一份的字幕,整份檔案從 1 重新編號,第一份自己的編號不會保留。

常見問題

兩份字幕合併成一份時,字幕數量不同要按什麼配對?

不按數量,這正是按時間配對的意義。一份檔案的字幕與另一份的字幕時間範圍重疊就配對,不論編號,所以把一句長句拆成兩句短句的譯文,仍然會接在它該屬於的那句後面。拆出來的兩條裡只有第一條配得上,第二條對不上,接著看第一個選項:保留兩份檔案就以獨立字幕帶過來,保留第一份時間軸就丟棄。執行後的報告會說明是哪一種、影響幾條。

把譯文合併進來,會改動原文的時間軸嗎?

選保留第一份時間軸就不會:第一份每一條字幕的起止原樣出來,中間不插東西,你已經對好、檢查過的檔案還是同一份。代價記在另一邊:第二份裡對不上的字幕在那條時間軸上沒有位置,會被丟棄並計入報告。若改成保留兩份檔案,什麼文字都不丟,但配對到的字幕從較早的開始延伸到較晚的結束,可能把一條字幕拉長幾百毫秒、壓到下一條底下。

字幕合併成一份時,第二份可以是文字稿轉成的字幕嗎?

可以。兩個框都接受本站讀取的任何格式,所以一份字幕檔配一份已轉成 SRT 的文字稿,跟兩份字幕檔一樣能用。這一頁對第二份輸入要求的只是一個時間軸:配對規則就是時間範圍重疊。完全沒有時間的檔案不能合併,這也是純文字不被接受的原因——文字檔得先憑空給它一條時間軸,而那應該是一個刻意的決定,不該由工具替你決定。

把兩份字幕合併成一份,需要先上傳到伺服器嗎?

不需要,也沒有伺服器可以上傳。兩份檔案都在這個瀏覽器分頁裡讀入、在記憶體裡合併、在這裡寫出;關掉分頁什麼都不留,也從來沒有東西被送出去。這對會被做成字幕的素材最要緊:未上映的版本、內部訓練影片、法律與醫療錄音、任何在禁令期間的東西。常見的替代做法是先要求你上傳檔案的網站,對這些人來說根本不是選項。

兩份字幕格式不同時,合併成一份會寫成哪種格式?

可以合併,而且很常見:研討會的 WebVTT 配譯者的 SRT。每個框按內容判讀,產物寫成第一份檔案的格式,這也是兩個框要標名字的原因。要留意的是樣式:如果第一份是帶樣式的 ASS、第二份是純 SRT,合併檔就是 ASS,第二份的文字會帶著第一份的樣式加入,而不是它自己的,受影響的字幕數會列在報告裡。

兩份字幕合併成一份時,哪種語言會排在上面?

放在第一個框的那一份,所以兩行版式的上下由你控制,不是按字母或自動決定。在雙語播出裡這比聽起來重要:慣例通常是原文在上、譯文在下,但語言學習用的字幕常把要學的語言放上面,讓眼睛先落到它。把兩份檔案在框之間對調,上下也跟著對調。

相關工具