

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

# 在任務設定中使用變數
<a name="using-variables-in-your-job-settings"></a>

您可以在任務設定中使用變數，也稱為 *格式識別符 (format identifier)*。格式識別符是您可以放在任務設定中的值，根據輸入檔案或任務的特性，這些值在輸出中有不同解析方式。這些值特別適合您要複製和重複使用的輸出預設集、任務範本和任務。請注意，變數區分大小寫。

例如，您可以使用`$d$`**目的地**設定的日期格式識別符。如果想用任務開始的日期和時間整理輸出，您可以在 **Destination (目標)** 輸入 **s3://amzn-s3-demo-bucket1/\$1d\$1/**。針對 2020 年 6 月 4 日開始的任務，此服務將於 `s3://amzn-s3-demo-bucket1/20200604/` 中建立您的輸出。

如需可用的格式識別符和如何使用的範例詳細資訊，請參閱 [具有範例的設定變數清單](#list-of-settings-variables-with-examples)。

如需有關串流輸出中不同作用的格式識別符，請參閱 [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)。

**Topics**
+ [具有範例的設定變數清單](#list-of-settings-variables-with-examples)
+ [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)
+ [指定最小位數](#specifying-a-minimum-number-of-digits)

## 具有範例的設定變數清單
<a name="list-of-settings-variables-with-examples"></a>

下表提供您可以在 AWS Elemental MediaConvert 任務中使用的每個格式識別符的相關資訊。如需有關串流輸出中不同作用的格式識別符，請參閱 [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)。


| 格式識別符 | 要放入任務設定的值 | 相容任務設定 | 描述和範例 | 
| --- |--- |--- |--- |
| Date and time |  `$dt$`  |  目標 名稱修飾詞 區段修飾詞  |  任務開始時間的 UTC 日期和時間 格式：YYYYMMDDTHHMMSS 範例：**\$1dt\$1** 針對 2020 年 6 月 4 日 3:05:28 PM 開始的任務，解析為 `20200604T150528`。  | 
| Date |  `$d$`  |  目標 名稱修飾詞 區段修飾詞  |  任務開始時間的 UTC 日期  格式：YYYYMMDD 範例：**\$1d\$1** 針對 2020 年 6 月 4 日開始的任務，解析為 `20200604`。  | 
| Time |  `$t$`  |  目標 名稱修飾詞 區段修飾詞  |  任務的 UTC 開始時間。 格式：HHMMSS 範例：**\$1t\$1** 針對 3:05:28 PM 開始的任務，解析為 `150528`。  | 
| Video bitrate |  `$rv$`  |  名稱修飾詞 區段修飾詞  |  輸出的影片位元速率 (千位元數)。對於 QVBR 輸出，服務使用影片最大位元速率 (千位元數)。 範例：如果您將 **編碼設定 (Encoding settings)**、**影片 (Video)**、**位元速率 (位元/秒) (Bitrate (bits/s))** 設定為 **50000000**，**\$1rv\$1** 會解析成 `50000`。  | 
| Audio bitrate |  `$ra$`  |  名稱修飾詞 區段修飾詞  |  輸出中所有音訊位元速率的總和 (千位元數)。 範例：如果您的輸出有單一音訊標籤，且您設定 **編碼設定 (Encoding settings)**、**音訊 1**、**位元速率 (千位元/秒) (Bitrate (kbit/s))** 為 **256000**，**\$1ra\$1** 會解析成 `256000`。  | 
| Container bitrate |  `$rc$`  |  名稱修飾詞 區段修飾詞  |  結合音訊和視訊位元速率的輸出 (千位元數)。 範例：您的輸出有 **影片 (Video)** 設定標籤和 **音訊 1 (Audio 1)** 設定標籤。如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**位元速率 (位元/秒) (Bitrate (bit/s))** 為 **5000000**，並設定 **編碼設定 (Encoding settings)**、**音訊 (Audio)**、**位元速率 (位元/秒) (Bitrate (bits/s))** 為 **96000** (96 千位元)，**\$1rc\$1** 會解析成 `5096`。  | 
| Video frame width |  `$w$`  |  名稱修飾詞 區段修飾詞  |  影格寬度或水平解析度 (像素) 範例：如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**解析度 (寬 x 高) (Resolution (w x h))** 為 **1280** x **720**，**\$1w\$1** 會解析為 `1280`。  | 
| Video frame height |  `$h$`  |  名稱修飾詞 區段修飾詞  |  影格高度或垂直解析度 (像素) 範例：如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**解析度 (寬 x 高) (Resolution (w x h))** 為 **1280** x **720**，**\$1h\$1** 會解析為 `720`。  | 
| Framerate |  `$f$`  |  名稱修飾詞 區段修飾詞  |  截斷為接近整數的影格速率 (每秒影格)  範例：如果您的影格速率是 **59.940**，**\$1f\$1** 會解析為 `59`。  | 
| Input file name |  `$fn$`  |  目標 名稱修飾詞 區段修飾詞  |  無副檔名的輸入檔案名稱。這是有多個輸入的任務中第一個指定的檔案。 範例：如果您任務的 **輸入 1 (Input 1)** 為 **s3://amzn-s3-demo-bucket/my-video.mov**，**\$1fn\$1** 會解析為 `my-video`。  | 
| Output container file extension |  `$ex$`  |  名稱修飾詞 區段修飾詞  |  依輸出群組而異。這是 **檔案群組 (File group)** 輸出的輸出容器檔案副檔名。這是輸出群組中的資訊清單副檔名。 檔案群組的範例：如果您為**輸出設定**選擇 **MPEG2-TS**，**Container** 會**\$1ex\$1**解析為 `m2ts`。 HLS 群組範例：如果您的輸出群組是 HLS，**\$1ex\$1** 會解析為 `m3u8`。  | 
| \$1 |  `$$`  |  名稱修飾詞 區段修飾詞  |  逸出 `$`。 範例： 假設您提供以下值：   輸入檔案名稱：**file1.mp4**   目標：**s3://amzn-s3-demo-bucket/**   名稱修飾詞：**my-video\$1\$1hi-res-**   您的輸出檔案名稱和路徑會解析成 `s3://amzn-s3-demo-bucket/my-video$hi-res-file1.mp4`。  | 

## 搭配串流輸出使用設定變數
<a name="using-settings-variables-with-streaming-outputs"></a>

任務設定中的變數，也稱為 *格式辨識符 (format identifier)*，在 Apple HLS 和 DASH ISO 輸出群組中有不同作用。以下是差別：

**在 Apple HLS 輸出**  
當您在**區段修飾詞**設定中使用日期和時間格式識別符 (`$dt$`、`$t$`、`$d$`) 時，這些格式識別符會解析為每個區段的完成時間，而不是任務的開始時間。

**注意**  
區段可能同時完成使用加速轉碼的任務。這表示日期和時間格式識別符不見得會解析為唯一值。

**對於 DASH ISO 輸出**  
您可以使用 **名稱修飾詞 (Name modifier)** 設定中的另外兩項格式識別符。除了輸出檔案名稱外，這些還會影響 DASH 資訊清單。以下是識別符：

\$1Number\$1  
在您的輸出檔案名稱中， `$Number$` 可以解析為從 1 遞增的一連串數字。這會取代區段檔案名稱中預設的九位區段編號。例如：  
+ 如果您指定 **video\$1\$1Number\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video_1.mp4`、`video_2.mp4` 等名稱的區段。
+ 如果您僅指定 **video\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video_000000001.mp4`、`video_000000002.mp4` 等名稱的區段。
在您的 DASH 資訊清單中， AWS Elemental MediaConvert 包含 `SegmentTemplate`元素`startNumber`內的 `duration`和 ，如下所示： `<SegmentTemplate timescale="90000" media="main_video_$Number$.mp4" initialization="main_video_$Number$init.mp4" duration="3375000"/>`  
如果您在輸出中使用 `$Number$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

\$1Bandwidth\$1   
在您的輸出檔案名稱中，`$Bandwidth$` 可以解析為輸出中 **影片 (Video)** 和 **位元速率 (Bitrate)** 的值加上 **音訊 (Audio)** 和 **位元速率 (Bitrate)** 的值。無論您是否包含此格式識別符，服務會在區段檔案名稱中使用九位區段編號。  
例如，假設您指定這些值：  
+ **影片 (Video)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**50000000**
+  **音訊 (Audio)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**96.0** (96,000 位元/秒)
+ **名稱修飾詞**：**video\$1\$1Bandwidth\$1**
\$1Bandwidth\$1 的值會解析為 50,096,000。此服務建立的區段檔案名為 `video_50096000_000000001.mp4`、`video_50096000_000000002.mp4`，以此類推。  
在資訊清單中， AWS Elemental MediaConvert 包含 `SegmentTemplate` 元素`startNumber`內的 `duration`和 ，如下所示：`<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>`。

\$1Time\$1  
在您的輸出檔案名稱中，`$Time$` 會解析為區段的持續時間 (毫秒)。您包含此格式識別符時，服務不會在區段檔案名稱中使用預設的九位區段編號。  
例如，如果您指定 **video180\$1\$1\$1Time\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video180__345600.mp4`、`video180__331680.mp4` 等名稱的區段。在這些範例中，區段持續時間是 345,600 毫秒和 331,680 毫秒。  
在資訊清單中， AWS Elemental MediaConvert 包含在 `SegmentTemplate`元素`SegmentTimeline`內，如下所示：  

```
<Representation id="5" width="320" height="180" bandwidth="200000" codecs="avc1.4d400c">
        <SegmentTemplate media="video180_$Time$.mp4" initialization="videovideo180_init.mp4">
          <SegmentTimeline>
            <S t="0" d="345600" r="2"/>
            <S t="1036800" d="316800"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
```
如果您在輸出中使用 `$Time$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

\$1RepresentationID\$1  
在您的輸出檔案名稱中， 會在您的任務設定 中`$RepresentationID$`解析為輸出的數值順序。  
在資訊清單中， 會在 `SegmentTemplate`元素中 AWS Elemental MediaConvert 使用此識別符來參考每個表示法的正確路徑。  
當您需要依表示式 ID 組織 DASH 輸出時，此格式識別符特別有用。

## 指定最小位數
<a name="specifying-a-minimum-number-of-digits"></a>

針對傳回數字的格式識別符，您可以指定可以解析的最少數字數。當您這麼做的話，該服務會在任何傳回較少數字的值前，新增填補零。

使用以下語法來指定數字數：**%0[number of digits]**。只需將值放在格式識別符最後的 `$` 前。

例如，假設您的影片影格高度是 720，而您想要指定至少四個數字，這樣就會在您的檔案名稱中顯示為 `0720`。若要這樣做，請使用以下格式識別符：**\$1h%04\$1**。

**注意**  
因太大而無法用您指定的數字數表示的值會解析為更多數字。