

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# IMSC、SCC、SMPTE-TT、SRT、STL、TTML （附屬） 輸入字幕
<a name="sidecar-input"></a>

IMSC、SCC、SMPTE-TT、SRT、STL 和 TTML 是附屬字幕格式。使用這些格式，您可以用獨立的檔案提供輸入字幕。根據您的輸出字幕設定， 會以相同格式將它們 AWS Elemental MediaConvert 傳遞至輸出，或將其轉換為其他附屬格式。

**所有附屬字幕**  
在所有情況下，為每個輸入字幕檔案建立一個字幕選擇器。

在**來源檔案中**，將 URI 輸入至存放在 Amazon S3 或 HTTP(S) 伺服器上的字幕輸入檔案。對於 Amazon S3 輸入，您可以直接指定 URI，或選擇**瀏覽**以從 Amazon S3 儲存貯體中選取。針對 HTTP(S) 輸入，提供輸入影片檔案的 URL。如需詳細資訊，請參閱[HTTP 輸入需求](http-input-requirements.md)。

**IMSC 字幕**  
MediaConvert 支援 IMSC 做為輸入字幕格式，可以是附屬檔案或 IMF 來源的一部分。如果您的輸入 IMSC 字幕是 IMF 套件的一部分，請參閱 [IMSC 輸入字幕 （作為 IMF 來源的一部分）](IMSC-in-MXF.md)。如需 IMSC 支援的限制 , 請參閱 [IMSC 要求](imsc-captions-support.md)。

**SMPTE-TT 字幕**  
您可以使用純文字的 SMPTE-TT 輸入字幕，這些字幕影像包含在具有 base64 編碼的字幕檔案中 (`smpte:image encoding="Base64"`)，以及使用字幕影像的外部參考 ()`smpte:backgroundImage`。

當您的字幕使用映像的外部參考時，這些映像必須位於與字幕檔案相同的 Amazon S3 儲存貯體和資料夾中。例如，假設這是 SMPTE\$1TT 檔案的 Amazon S3 路徑：`amzn-s3-demo-bucket/mediaconvert-input/captions/my-captions-spanish.ttml`。然後，您必須將字幕檔案參考的影像檔案存放在此處：`s3://amzn-s3-demo-bucket/mediaconvert-input/captions/`。

**SRT 字幕**  
MediaConvert 支援具有 UTF-8 字元編碼的 SRT 輸入字幕。

**同步附屬字幕和影片**  
為了確保您的字幕與影片正確同步，請檢查**影片選擇**器區段中**時間碼來源**的值是否符合字幕檔案中的時間碼。例如，如果您的影片有從 01：00：00：00 開始的內嵌時間碼，但字幕檔案中的時間碼從零開始，請將影片選取器**時間碼來源**的預設值從**內嵌**變更為**從 0 開始**。如果您任務的其他層面阻止該作業，請使用 **Time delta (時間差量)** 設定來調整您的字幕，如 [時間差異的使用案例](time-delta-use-cases.md) 所述。

**注意**  
MediaConvert 會根據字幕格式是以時間碼為基礎還是以時間戳記為基礎，以不同的方式處理字幕與視訊的對齊。如需詳細資訊，請參閱[輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)。

在**時間差異**中輸入正數或負數，以修改字幕檔案中的時間值。根據預設，時間差異的測量單位為秒。例如，輸入 **15**將 15 秒新增至字幕檔案中的所有時間值。或者，輸入 **-5**以從字幕檔案中的時間值減去 5 秒。若要改為以毫秒為單位指定 ，請將**時間差異單位**設定為**毫秒**。

如果您為**時間差異**輸入的值會在影片前後產生字幕，則這些字幕將不會出現在輸出中。

**注意**  
從 SCC 轉換到 SRT 時，MediaConvert 會先將您為**時間差異**設定的值四捨五入到最接近的輸入影格。MediaConvert 會在計算輸出 SRT 計時時使用此四捨五入值。

**Topics**
+ [

# 輸入時間碼來源和字幕對齊
](about-input-timecode-source-and-captions-alignment.md)
+ [

# 時間差異的使用案例
](time-delta-use-cases.md)
+ [

# 將雙 SCC 輸入檔案轉換為內嵌字幕
](converting-dual-scc-input-files-to-embedded-captions.md)
+ [

# TTML 樣式格式
](ttml-style-formatting.md)

# 輸入時間碼來源和字幕對齊
<a name="about-input-timecode-source-and-captions-alignment"></a>

當您透過將輸入**時間碼來源**設定為**從 0 **開始或**指定啟動**來調整輸入時間軸時，MediaConvert 的行為就像您的輸入具有在您指定時啟動的內嵌時間碼一樣。但是 MediaConvert 不會變更附屬字幕檔案中的時間戳記。因此，對齊字幕的方式取決於您的字幕格式。

**時間碼型附屬格式 (SCC、STL)**  
有些字幕格式 (包括 SCC 和 STL) 會依據時間碼定義字幕在視訊中的放置位置。透過這些格式，MediaConvert 會根據輸入時間軸中的每個影格的時間碼，將每個字幕放置在字幕檔案中指定的影格上。若要調整字幕以開始於不同的時間，請使用 **Time delta (時間差量)** 設定。如需詳細資訊，請參閱[時間差異的使用案例](time-delta-use-cases.md)。

MediaConvert 會根據您為輸入時間**碼來源設定選擇的值來建立輸入時間**軸。

例如，如果您的 SCC 檔案指定第一個字幕應該出現在 00:05:23:00，而且您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定開始)**，並將 **Start timecode (開始時間碼)** 設定為 00:04:00:00，則第一個字幕會在視訊一分鐘二十三秒後出現在輸出中。如果您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定的開始)** 以及將 **Start timecode (開始時間碼)** 設定為 01:00:00:00，您就看不到字幕，因為根據輸入時間軸，00:05:23:00 發生在您的視訊開始之前。

**時間戳記型附屬格式 (SRT、SMI、TTML)**  
有些字幕格式 (包括 SRT、SMI 和 TTML) 允許依時間戳記定義字幕在視訊中的放置位置。有了這些，MediaConvert 會測量字幕從影片開始的時間距離放置。無論字幕檔案使用時間碼還是時間戳記指定放置的位置，都是如此。

因此，您的字幕會在字幕檔案指定的時間出現，而不考慮視訊時間碼。例如，如果您的 SRT 檔案指定第一個字幕應該出現在 00:05:23:00 或 00:05:23,000，而且您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定開始)**，並將 **Start timecode (開始時間碼)** 設定為 00:04:00:00，則第一個字幕仍會在視訊五分鐘二十三秒後出現在輸出中。

若要調整字幕以開始於不同的時間，請使用 **Time delta (時間差量)** 設定。如需詳細資訊，請參閱[時間差異的使用案例](time-delta-use-cases.md)。

**在影片串流中嵌入字幕的格式 (CEA/EIA-608、CEA/EIA-708)**  
有些字幕格式會將字幕直接嵌入視訊影格或視訊影格中繼資料。有了這些，MediaConvert 會保留字幕及其內嵌的影格，無論時間碼設定為何。

# 時間差異的使用案例
<a name="time-delta-use-cases"></a>

使用**時間差異 (TimeDelta)** 的方式取決於您嘗試解決的問題，以及您正在使用的字幕格式。

 根據預設，您可以指定以秒為單位的時間差。如果您想要改為以毫秒為單位指定，請將**時間差異單位 (TimeDeltaUnits)** 設定為**毫秒 (MILLISECONDS)**。

## 調整影片和字幕檔案之間的不同時間碼
<a name="adjusting-for-different-timecodes-between-video-and-captions-files"></a>

使用以時間碼為基礎的註解格式 (例如 SCC 和 STL) 時，字幕中的時間碼可能是相對於開始時間碼，而不是內嵌在視訊中的開始時間碼。您可以使用 **Time delta (時間差量)**，針對差異進行調整。

**範例問題：**您的影片檔案可能有從 00：05：00：00 開始的內嵌時間碼。第一個需要字幕的對話執行個體可能是影片一分鐘，時間碼為 00：06：00：00。您的字幕檔案是基於以下假設來撰寫：您的視訊時間碼於 00:00:00:00 開始，且第一個字幕於 00:01:00:00 開始。如果您不使用**時間差異**，MediaConvert 不會包含此第一個字幕，因為它發生在影片開始之前。

**解決方案：**在字幕中增加五分鐘。輸入 **300** 作為 **Time delta (時間差量)**。

## 同步視訊和音訊後調整字幕
<a name="adjusting-captions-after-sychronizing-video-and-audio"></a>

您的時間碼型 (SCC 或 STL) 字幕可能與視訊中內嵌的時間碼對齊，但您可能需要使用輸入 **Timecode source (時間碼來源)** 設定來對齊音訊。這會在視訊與字幕之間產生差異，您需要對此進行調整。若使用時間戳記型字幕格式 (例如 SRT、SMI 和 TTML)，則不需要進行此調整。

如需在使用輸入 **Timecode source (時間碼來源)** 時對齊字幕的詳細資訊，請參閱[輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)。

**範例問題：**您的視訊檔案可能會有從 00:05:00:00 開始的內嵌時間碼，而需要字幕的第一段對話可能在視訊一分鐘的位置，時間碼為 00:06:00:00。您的字幕檔案會正確寫入同步，第一個字幕從 00:06:00:00 開始。但是，您必須在輸入中變更內嵌字幕，才能正確地與音訊檔案同步。因此，您會將輸入 **Timecode source (時間碼來源)** 設定為 **Start at Zero (從零開始)**。如果您不使用**時間差異**，MediaConvert 會在 6 分鐘將輸出中的第一個字幕放入影片。

**解決方案：**從字幕中減去五分鐘。輸入 **-300** 作為 **Time delta (時間差量)**。

## 更正字幕同步中的輕微錯誤
<a name="correcting-slight-errors-in-captions-sync"></a>

採用任何類型的附屬格式，您的輸入字幕檔案中可能有個小錯誤，以致字幕始終延後一點或提早一點。

**範例問題：**您的視訊都有從零開始的內嵌字幕。第一個需要字幕的對話執行個體是在 00:06:15:00，但是字幕延遲三秒 (00:06:18:00) 才出現在螢幕上。

**解決方案：**從字幕中減去三秒。輸入 **-3** 作為 **Time delta (時間差量)**。

# 將雙 SCC 輸入檔案轉換為內嵌字幕
<a name="converting-dual-scc-input-files-to-embedded-captions"></a>

如果您想要使用兩個 SCC 檔案作為字幕輸入，並將字幕內嵌為輸出視訊串流中內嵌的兩個輸出字幕頻道，請根據此程序設定字幕。

**將雙 SCC 轉換為內嵌字幕**

1. 設定兩個輸入字幕選取器。請遵循 [建立輸入字幕選取器](including-captions.md#create-input-caption-selectors) 中的程序。指定值，如下所示：
   + 在每個字幕選取器中，選擇 **SCC** 作為 **Source (來源)**。
   + 對於 **Source file (來源檔案)**，請在每個選取器中選擇其中一個輸入 SCC 檔案。
   + 如果您想要在輸出中同時內嵌 608 和 708 字幕，請在兩個字幕選擇器中選擇 **Upconvert** for **Force 608 to 708 upconvert**。

1. 在您的輸出中設定字幕。請遵循 [在輸出中設定字幕](set-up-captions-in-outputs.md) 中的程序。依照以下特定選項：
   + 在與您要內嵌字幕之視訊的相同輸出中指定字幕。
   + 選擇兩次**新增字幕**，在**編碼設定**區段中建立**字幕 1** 和**字幕 2** 標籤。
   + 對於 **Captions source (字幕來源)**，請在每個字幕標籤中，選擇您在此程序的先前步驟中建立的其中一個字幕選取器。
   + 對於 **CC channel number (CC 頻道號碼)**，為不共用欄位的每個字幕標籤選擇一個數字。例如，在**字幕 1** 中，為 **CC 頻道號碼**選擇 **1**，在**字幕 2** 中，為 **CC 頻道號碼**選擇 **3**。

     請勿選擇組合 1 和 2 或 3 和 4，因為這些頻道配段共用相同的欄位。
   + 如果您在此程序的先前步驟中選擇 **Upconvert (向上轉換)**，請選擇性針對 **708 service number (708 服務號碼)** 指定服務號碼。在輸出中，每個字幕標籤都必須指定不同的服務號碼。

     如果您向上轉換但未指定 **708 service number (708 服務號碼)**，服務會使用您針對 **CC channel number (CC 頻道號碼)** 指定的值作為 708 服務號碼。

# TTML 樣式格式
<a name="ttml-style-formatting"></a>

AWS Elemental MediaConvert 會在任務執行時讀取輸入字幕的樣式格式。如果您注意到輸出的樣式格式有問題，建議您檢查輸入字幕的格式，或將**樣式傳遞**設定為已啟用。下列主題提供在 TTML 輸入字幕中使用字型、可繼承和不可繼承屬性，以及從右到左語言的指導。

**指定字型** 

MediaConvert 支援 [TTML2 W3C 建議](https://www.w3.org/TR/ttml2/#style-value-generic-family-name)中列出的下列一般字型系列：
+ 預設
+ 單空間
+ sansSerif
+ serif
+ monospaceSansSerif
+ monospaceSerif
+ proportionalSansSerif
+ proportionalSerif

為了獲得最佳結果，請在 TTML 輸入字幕中指定一般字型系列。如果您改為指定個別字型，MediaConvert 會將字型映射到上面列出的其中一個一般字型系列。

**可繼承和不可繼承的屬性** 

樣式屬性為可繼承或不可繼承。[TTML 2 W3C 建議](https://www.w3.org/TR/ttml2/#styling-attribute-vocabulary)會針對每個樣式屬性列出*繼承*的這些項目。

在您希望套用它們的每個元素中包含不可繼承的樣式屬性。

例如， `tts:backgroundColor` 是不可繼承的樣式屬性。以下結果會產生紅色背景顏色的 *hello* 和沒有背景顏色*的世界*：

`<span tts:backgroundColor="red">hello<br/>world</span>` 

您可以修正上述格式，讓 *hello world* 都具有紅色背景顏色，方法是使用個別跨度，每個跨度都有自己的樣式屬性，如本範例所示：

`<span><span tts:backgroundColor="red">hello</span> <br/> <span tts:backgroundColor="red">world</span></span>` 

**從右到左語言** 

MediaConvert 在 TTML 中同時支援從左到右和從右到左的文字方向。

當您未指定文字方向時，MediaConvert 會使用從左到右。

若要從右到左指定，請包含 `tts:direction="rtl"` 屬性。如果您的文字混合了雙向字元，也請包含`tts:unicodeBidi="embed"`屬性，如 [TTML2 W3C 建議](https://www.w3.org/TR/ttml2/#style-attribute-direction)中所述。請注意， `tts:unicodeBidi` 是不可繼承的屬性。