若要在 Final Cut Pro 中合併連續的字幕檔案,請將每個片段的字幕時間移至其在完成剪輯中的位置,然後匯入一個合併後的 SRT 檔案。對每個開始和結束時間套用相同的偏移量,可保留字幕時長與間隔。

這套流程適用於使用 Mac 的剪輯者,將連續的軟體示範片段組合起來,而每個片段都有一個從該片段開頭起算時間的現成 SRT 檔案。目標是建立一組字幕序列,並讓各條字幕分別保有自己的時間。Apple 說明可透過其隱藏式字幕工作流程,將 SRT 直接匯入 Mac 版 Final Cut Pro。將隱藏式字幕匯入 Mac 版 Final Cut Pro。

Final Cut Pro 的字幕匯入功能實際上會做什麼?

Apple 的匯入工具提供兩種時間選項。Relative to Timeline 會將專案的開始時間加到字幕時間戳記上。Absolute 則會使用時間戳記,不論專案的開始時間為何。這兩種文件所述的選項都無法為每個連續的來源片段分別設定偏移量。因此,將播放磁頭移到片段 B,並不是文件所述能讓 B 的零起始時間 SRT 從該處開始的方法。Apple 的字幕匯入說明。

另有一個名為 Join Captions 的指令,但它會將選取的相鄰字幕片段取代為一條包含合併文字的字幕。這會改變字幕的結構。若要合併各條字幕仍需各自保有時間的連續檔案,請保留字幕分開,並合併其含時間戳記的紀錄。在 Mac 版 Final Cut Pro 中調整及排列隱藏式字幕。

此處採用的支援流程,是在 Final Cut Pro 外準備一份偏移量正確的 SRT,透過 Apple 的字幕匯入工具匯入、檢查結果,並在需要時匯出單一字幕檔案。此流程不需要字幕產生功能或外掛程式。

調整字幕前先確定偏移量

首先確認每個片段在完成專案中的起始位置,以從專案開頭起算的經過時間表示。記錄實際剪輯位置,包括片頭卡、間隙或縮短的片段。請使用字幕檔案的副本進行作業。

確認檔案是否已使用共同的時間基準。如果片段 B 在剪輯中於 12 秒處開始,而其第一條字幕已在約 14 秒處,則它可能已採用相對於專案的時間。再加上 12 秒會使它偏移兩次。如果第一條字幕約在 2 秒處,請檢查對應媒體,確認該檔案的時間是否從 B 的開頭起算。

合併前請參考以下判斷表:

來源時間與剪輯狀況 必要處理方式
每個 SRT 都從各自片段的開頭起算 將該片段在專案中的經過起始時間加到所有字幕時間戳記
每個 SRT 都已採用完成專案的經過時間基準 合併紀錄,不要再加上片段偏移量
來源時間戳記採用不同的時間原點 先扣除該原點,再加上預定的片段起始時間
片段內有剪接或速度變更 合併前,將受影響的字幕時間重新對應至剪輯後的媒體

對於未經變更的片段,計算方式為 new time = source time + segment start − source origin。對每條字幕的開始和結束時間分別套用此計算。固定偏移量會保留時長,因為 (end + offset) − (start + offset) 等於 end − start。它也會保留該片段內字幕之間的間隔。

固定偏移量無法修正內部刪除或速度變更。如果 B 在中途被刪掉數秒,該剪接點之後的字幕就需要不同的調整方式。在將整個檔案視為一個時間區段之前,請確認每個 SRT 都符合剪輯中實際使用的片段。

逐步看兩個片段的時間範例

以下輸入僅供說明。片段 A 佔據軟體示範的前 12 秒。片段 B 緊接在後,從 12 秒處開始。兩個來源 SRT 都以片段內的經過時間計時,從零開始,且兩個片段都未經修剪或重新調整時間。

檔案 片段在完成剪輯中的起始時間 本地字幕時間區間 所需偏移量
part-a.srt 0 秒 1–3 秒;6–8 秒 0 秒
part-b.srt 12 秒 2–4 秒;7–9 秒 +12 秒

A 的最後一條字幕在 8 秒結束,但 A 的媒體會持續到 12 秒。若以最後一條字幕的結束時間作為 B 的偏移量,B 就會提早 4 秒。字幕位置必須依據媒體剪輯,包括沒有字幕的部分。

一筆 SRT 紀錄包含字幕編號、開始與結束時間戳記、字幕文字,以及空白分隔行。時間戳記格式為時、分、秒和毫秒,例如 00:00:02,000;時間分隔符號為 -->。美國國會圖書館說明了此結構,並指出 SRT 是純文字格式。SubRip 字幕格式(SRT)。

以下為範例 part-a.srt 的完整內容:

1
00:00:01,000 --> 00:00:03,000
Open the sample project.

2
00:00:06,000 --> 00:00:08,000
Select the blue rectangle.

以下為調整前的範例 part-b.srt 完整內容:

1
00:00:02,000 --> 00:00:04,000
Open the color controls.

2
00:00:07,000 --> 00:00:09,000
Choose the green swatch.

將每條 B 字幕的兩個時間戳記都加上 12 秒,接在 A 的紀錄後面,並重新編排合併後的序號。完整的 combined-demo.srt 結果如下:

1
00:00:01,000 --> 00:00:03,000
Open the sample project.

2
00:00:06,000 --> 00:00:08,000
Select the blue rectangle.

3
00:00:14,000 --> 00:00:16,000
Open the color controls.

4
00:00:19,000 --> 00:00:21,000
Choose the green swatch.

四條字幕仍然各自維持 2 秒。B 的字幕間 3 秒間隔仍然是 3 秒。A 的最後一條字幕在 8 秒結束,而 B 的第一條字幕在 14 秒開始,兩者之間 6 秒的間隔也是刻意保留的:A 結尾有 4 秒沒有字幕,加上 B 開頭的 2 秒。時間戳記的計算已透過簡單、確定性的 Python 計算驗證;此範例並未在 Final Cut Pro 中執行。

在 Mac 上準備合併後的 SRT

檔案較短時,可使用純文字編輯器調整時間戳記並組合紀錄。在 TextEdit 中建立文件,並在儲存前選擇 Format > Make Plain Text。Apple 說明新文件預設為富文字格式,轉換為純文字會移除文件格式設定。在 Mac 上使用 TextEdit 建立、開啟及轉換文件。

將完成的文字存成檔名 combined-demo.srt。確認實際副檔名:結尾不得是 .srt.txt 或 .rtf。每條字幕之間保留空白行,保留字幕文字和換行,並為最終紀錄連續編號。以上範例包含未使用樣式標籤的純字幕文字。

檔案較大時,使用能平移所有選取字幕的字幕編輯器套用相同計算。確認操作同時變更開始與結束時間。接著先對照偏移量表,檢查調整後的第一條和最後一條字幕,再合併檔案。用來調整時長或拉伸時間的指令,與增加單一固定偏移量的用途不同。

不要只將原始檔案直接貼在一起並重新編號。編號用來表示順序,不會將字幕移到影片中較後的位置。兩個時間戳記都接近零的檔案,串接後時間戳記仍會接近零。

將合併後的檔案匯入 Final Cut Pro

開啟完成的專案,並依照 Apple 文件所述的匯入路徑操作:

  1. 選擇 File > Import > Closed Captions。
  2. 選取 combined-demo.srt。
  3. 在 Import as Role 下,選擇 SRT 字幕角色及適當的語言子角色。
  4. 在 Insertion Time 下,選擇 Relative to Timeline,因為此範例使用從專案開頭起算的經過時間。
  5. 按一下 Import。

字幕會出現在時間軸上方的字幕軌道中。如果專案從 01:00:00:00 開始,範例中經過 14 秒的字幕應會出現在約 01:00:14:00。只有在提供的時間戳記已代表預期的時間軸時鐘時才使用 Absolute。這些時間選項依據Apple 的匯入說明。

請將毫秒時間戳記與影格式時間碼分開理解。在範例 SRT 中,00:00:14,000 代表剛好 14 秒。此範例使用整秒邊界,讓計算明確易懂;匯入後仍請對照實際專案,檢查更細微的時間設定。

檢查片段邊界並診斷時間錯誤

按下 Shift-Command-2 開啟時間軸索引。在 Roles 中,啟用字幕顯示並選擇預期的語言子角色。在 Captions 面板中,選取一條字幕會將播放磁頭移至其開始處;View Errors 可篩選出有錯誤的字幕。檢視器與時間軸中的字幕可分別控制顯示與否。在 Mac 版 Final Cut Pro 中顯示或隱藏隱藏式字幕。

此範例應確認有四條獨立字幕。檢查 A 的第一條與最後一條字幕、片段邊界附近的空檔,以及 B 的兩條字幕。實際專案中,請對每個匯入片段重複檢查邊界,然後播放完整序列。

症狀 優先檢查項目
每條字幕都出現相同的位移 專案開始時間和匯入時間選項
只有一個片段整體出現相同位移 該片段的偏移量或來源時間原點
內部剪輯後時間發生變化 媒體中的修剪、刪除、插入或速度變更
後面的檔案出現在開頭附近 本地時間戳記未加偏移量便直接串接
檢視器中沒有字幕 字幕顯示狀態和目前使用的語言子角色

如果字幕重疊,請先檢查偏移量計算,再變更時長。Apple 說明,同一語言子角色中的重疊通常會產生錯誤,而 Resolve Overlaps 會修剪片段。Apple 也指出,將字幕拖到相鄰字幕中可能會覆寫它們。這兩種操作都無法保留所有原始時間邊界,因此只有在確定需要變更底層時間設定後才使用。Apple 的字幕排列指南。

為完成的剪輯匯出一個字幕檔案

選擇 File > Export Closed Captions,為輸出檔命名,並在 Roles 下選取預期的語言子角色。Final Cut Pro 會為每個選取的語言子角色建立個別檔案。若要取得從完成影片開頭起算的 SRT,請選擇 Relative to Timeline;此選項會扣除專案開始時間。Absolute 則會保留時間軸時鐘。在 Mac 版 Final Cut Pro 中匯出隱藏式字幕。

對於這些沒有樣式的示範字幕,請取消選取 Include Formatting。Apple 通常建議移除 SRT 格式設定,因為樣式在預定的播放程式中可能會有不同呈現方式。重新開啟匯出的檔案,確認字幕數量、文字和片段邊界時間戳記都與檢查過的專案相符。Apple 的 SRT 匯出指南。

完成後,每條字幕都應保留為獨立且含時間的紀錄。根據每個片段在剪輯中的實際位置設定偏移量,保留沒有字幕的間隔,並在匯入後確認邊界。如此即可讓合併後的字幕序列與組合完成的影片時間一致。

來源