

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

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

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

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

$Number$  
在您的輸出檔案名稱中， `$Number$` 可以解析為從 1 遞增的一連串數字。這會取代區段檔案名稱中預設的九位區段編號。例如：  
+ 如果您指定 **video\_$Number$** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video_1.mp4`、`video_2.mp4` 等名稱的區段。
+ 如果您僅指定 **video\_** 為 **名稱修飾詞 (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$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

$Bandwidth$   
在您的輸出檔案名稱中，`$Bandwidth$` 可以解析為輸出中 **影片 (Video)** 和 **位元速率 (Bitrate)** 的值加上 **音訊 (Audio)** 和 **位元速率 (Bitrate)** 的值。無論您是否包含此格式識別符，服務會在區段檔案名稱中使用九位區段編號。  
例如，假設您指定這些值：  
+ **影片 (Video)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**50000000**
+  **音訊 (Audio)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**96.0** (96,000 位元/秒)
+ **名稱修飾詞**：**video\_$Bandwidth$**
$Bandwidth$ 的值會解析為 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"/>`。

$Time$  
在您的輸出檔案名稱中，`$Time$` 會解析為區段的持續時間 (毫秒)。您包含此格式識別符時，服務不會在區段檔案名稱中使用預設的九位區段編號。  
例如，如果您指定 **video180\_\_$Time$** 為 **名稱修飾詞 (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$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

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

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

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

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

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

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