

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

# 設定串流輸出的片段長度
<a name="setting-the-fragment-length"></a>

對於 HLS 以外的所有其他 ABR 串流輸出群組 (CMAF、DASH 和 Microsoft Smooth Streaming)，您為 **Fragment length (片段長度)** (`FragmentLength`) 指定的值必須搭配您指定的其他輸出設定。如果您錯誤設定 **Fragment length (片段長度)**，當觀眾觀看輸出影片，他們的播放器可能會當機。發生的原因是，播放器預期在視訊結尾處有額外的片段並請求不存在的片段。

**片段長度**受限於**封閉 GOP 節奏** (`GopClosedCadence`)、**GOP 大小** (`GopSize`) 和**影格率** (`FramerateNumerator`、) 的值`FramerateDenominator`。如需在主控台和 JSON 任務規格中尋找這些設定的詳細資訊，請參閱[尋找與片段長度相關的設定](#finding-the-settings-related-to-fragment-length)。

**注意**  
當您將輸出**影格率**設定為**跟隨來源**時，請確定輸入影片檔案的影格率與您為輸出**片段長度**指定的值相符。輸入影片檔案的影格率會做為輸出影格率。

**Topics**
+ [片段長度的規則](#rule-for-fragment-length)
+ [片段長度範例](#fragment-length-examples)
+ [尋找與片段長度相關的設定](#finding-the-settings-related-to-fragment-length)

## 片段長度的規則
<a name="rule-for-fragment-length"></a>

片段長度必須是整數，且必須是此值的倍數：**GOP 大小** x **封閉 GOP 節奏** ÷ **影格率**

## 片段長度範例
<a name="fragment-length-examples"></a>

**範例：正確設定**  
封閉式 GOP 下降 = 1

影格率 = 30

GOP 大小 = 60 影格

片段長度 = 2

**範例：錯誤設定**  
封閉式 GOP 下降 = 1

影格率 = 50

GOP 大小 = 90 影格

片段長度 = 2

## 尋找與片段長度相關的設定
<a name="finding-the-settings-related-to-fragment-length"></a>

當您設定**片段長度**時，請檢查**已關閉 GOP 節奏**、**GOP 大小**和**影格率**的值。

### 片段長度
<a name="fragment-length"></a>

您可以使用主控台或 JSON 任務規格來設定片段長度。**Fragment length (片段長度)** 設定會套用至輸出群組，並影響該群組中的每個輸出。

**若要尋找 **Fragment length (片段長度)** 設定 (主控台)**

1. 在**建立任務**頁面的左側**任務**窗格的**輸出群組**下，選擇 CMAF、DASH ISO 或 Microsoft Smooth Streaming 輸出群組的名稱。

1. 在右側的群組設定部分，找到 **Fragment length (片段長度)**。

   群組設定部分的標題為 **CMAF group settings (CMAF 群組設定)**、**DASH ISO group settings (DASH ISO 群組設定)** 或 **MS Smooth group settings (MS Smooth 群組設定)**。

**若要尋找 **Fragment length (片段長度)** 設定 (JSON 任務規格)**
+ 尋找 `FragmentLength`的子項`OutputGroupSettings`，如下列範例所示。

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          "OutputGroupSettings": {
            "Type": "DASH_ISO_GROUP_SETTINGS",
            "DashIsoGroupSettings": {
              "SegmentLength": 30,
              "FragmentLength": 2,
              "SegmentControl": "SINGLE_FILE",
              "HbbtvCompliance": "NONE"
            }
          },
  		...
  ```

### 關閉的 GOP 節奏、GOP 大小和影格率
<a name="closed-gop-cadence-gop-size-and-framerate"></a>

您可以使用主控台或 JSON 任務規格來設定**封閉式 GOP 節奏**、**GOP 大小**和**影格率**。這些設定會分別套用至各個輸出。請確定您為輸出群組中每個輸出設定的值與您為輸出群組**片段長度**指定的值搭配使用。

**注意**  
您的 ABR 堆疊有多個輸出。請務必在每個輸出中設定這些值。

**若要尋找輸出的編碼設定 (主控台)**

1. 在**建立任務**頁面左側**的任務**窗格中的**輸出群組**下，選擇輸出的名稱，例如**輸出 1**、**輸出 2**，以此類推。

1. 在 **Encoding settings (編碼設定)** 部分，**Video (影片)** 標籤會自動選取起來。在此索引標籤上尋找**已關閉的 GOP 節奏**、**GOP 大小**和**影格率**。

**若要尋找輸出的編碼設定 (JSON 任務規格)**
+ 

尋找轉碼器設定的子項 `GopClosedCadence`、`GopSize`、`FramerateNumerator` 和 `FramerateDenominator`，如下列範例所示。在此範例中，轉碼器是 `H_264`，因此轉碼器設定的父項是 `H264Settings`。

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          ...
          },
          "Outputs": [
            {
              "VideoDescription": {
                ...
                "CodecSettings": {
                  "Codec": "H_264",
                  "H264Settings": {
                    "InterlaceMode": "PROGRESSIVE",
                    "NumberReferenceFrames": 3,
                    "Syntax": "DEFAULT",
                    "Softness": 0,
                    "GopClosedCadence": 1,
                    "GopSize": 60,
  				  ...
                    "FramerateNumerator": 60,
                    "FramerateDenominator": 1
                  }
                },
                ...
              },
  ```