在工作設定中使用變數 - MediaConvert

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

在工作設定中使用變數

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

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

如需可用的格式識別符和如何使用的範例詳細資訊,請參閱 帶有示例的設置變量列表

如需有關串流輸出中不同作用的格式識別符,請參閱 搭配串流輸出使用設定變數

帶有示例的設置變量列表

下表提供您可在 AWS Elemental MediaConvert 工作中使用之每個格式識別碼的相關資訊。如需有關串流輸出中不同作用的格式識別符,請參閱 搭配串流輸出使用設定變數

格式識別碼 要輸入工作設定中的值 相容的工作設定 說明與範例
日期和時間

$dt$

目的地

名稱修飾詞

區段修飾詞

UTC工作開始時間的日期和時間。

格式:YYYYMMDDTHHMMSS

範例:$dt$ 針對 2020 年 6 月 4 日 3:05:28 PM 開始的任務,解析為 20200604T150528

日期

$d$

目的地

名稱修飾詞

區段修飾詞

UTC工作開始時間的日期。

格式:YYYYMMDD

範例:$d$ 針對 2020 年 6 月 4 日開始的任務,解析為 20200604

時間

$t$

目的地

名稱修飾詞

區段修飾詞

UTC工作的開始時間。

格式:HHMMSS

範例:$t$ 針對 3:05:28 PM 開始的任務,解析為 150528

影片位元速率

$rv$

名稱修飾詞

區段修飾詞

輸出的影片位元速率 (千位元數)。對於QVBR輸出,該服務使用視頻最大比特率,以千比特為單位。

範例:如果您將 編碼設定 (Encoding settings)影片 (Video)位元速率 (位元/秒) (Bitrate (bits/s)) 設定為 50000000$rv$ 會解析成 50000

音訊位元速率

$ra$

名稱修飾詞

區段修飾詞

輸出中所有音訊位元速率的總和 (千位元數)。

範例:如果您的輸出有單一音訊標籤,且您設定 編碼設定 (Encoding settings)音訊 1位元速率 (千位元/秒) (Bitrate (kbit/s))256000$ra$ 會解析成 256000

容器位元速率

$rc$

名稱修飾詞

區段修飾詞

結合音訊和視訊位元速率的輸出 (千位元數)。

範例:您的輸出有 影片 (Video) 設定標籤和 音訊 1 (Audio 1) 設定標籤。如果您設定 編碼設定 (Encoding settings)影片 (Video)位元速率 (位元/秒) (Bitrate (bit/s))5000000,並設定 編碼設定 (Encoding settings)音訊 (Audio)位元速率 (位元/秒) (Bitrate (bits/s))96000 (96 千位元),$rc$ 會解析成 5096

影片影格寬度

$w$

名稱修飾詞

區段修飾詞

影格寬度或水平解析度 (像素)

範例:如果您設定 編碼設定 (Encoding settings)影片 (Video)解析度 (寬 x 高) (Resolution (w x h))1280 x 720$w$ 會解析為 1280

影片影格高度

$h$

名稱修飾詞

區段修飾詞

影格高度或垂直解析度 (像素)

範例:如果您設定 編碼設定 (Encoding settings)影片 (Video)解析度 (寬 x 高) (Resolution (w x h))1280 x 720$h$ 會解析為 720

影格率

$f$

名稱修飾詞

區段修飾詞

截斷為接近整數的影格速率 (每秒影格)

範例:如果您的影格速率是 59.940$f$ 會解析為 59

輸入檔案名稱

$fn$

目的地

名稱修飾詞

區段修飾詞

無副檔名的輸入檔案名稱。這是有多個輸入的任務中第一個指定的檔案。

範例:如果您任務的 輸入 1 (Input 1)s3://amzn-s3-demo-bucket/my-video.mov$fn$ 會解析為 my-video

輸出容器檔案副檔名

$ex$

名稱修飾詞

區段修飾詞

依輸出群組而異。這是 檔案群組 (File group) 輸出的輸出容器檔案副檔名。這是輸出群組中的資訊清單副檔名。

檔案群組範例:如果您選擇 MPEG2-TS 做為「輸出」設定,「容器」會$ex$解析為m2ts

HLSgroup 的示例:如果您的輸出組是HLS,則$ex$解析為m3u8.

$

$$

名稱修飾詞

區段修飾詞

逸出 $

範例:

假設您提供以下值:

  • 輸入檔案名稱:file1.mp4

  • 目標:s3://amzn-s3-demo-bucket/

  • 名稱修飾詞:my-video$$hi-res-

您的輸出檔案名稱和路徑會解析成 s3://amzn-s3-demo-bucket/my-video$hi-res-file1.mp4

搭配串流輸出使用設定變數

工作設定中的變數 (也稱為格式識別碼) 在 Apple HLS 和DASHISO輸出群組中的輸出方式不同。以下是差別:

對於蘋果HLS輸出

當您在「區段」修正因子設定中使用日期和時間格式識別碼 ($dt$$t$,,$d$) 時,這些格式識別碼會解析為每個區段的完成時間,而非工作的開始時間。

注意

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

對於DASHISO輸出

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

$Number$

在您的輸出檔案名稱中, $Number$ 可以解析為從 1 遞增的一連串數字。這會取代區段檔案名稱中預設的九位區段編號。例如:

  • 如果您指定 video_$Number$名稱修飾詞 (Name modifier),服務會建立名為 video_1.mp4video_2.mp4 等名稱的區段。

  • 如果您僅指定 video_名稱修飾詞 (Name modifier),服務會建立名為 video_000000001.mp4video_000000002.mp4 等名稱的區段。

在您的DASH清單中,AWSElemental MediaConvert 包含duration並在SegmentTemplate元素startNumber內部,如下所示:<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.mp4video_50096000_000000002.mp4,以此類推。

在清單中,元AWS素 MediaConvert 包括duration並在SegmentTemplate元素startNumber內部,如下所示:<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>.

$Time$

在您的輸出檔案名稱中,$Time$ 會解析為區段的持續時間 (毫秒)。您包含此格式識別符時,服務不會在區段檔案名稱中使用預設的九位區段編號。

例如,如果您指定 video180__$Time$名稱修飾詞 (Name modifier),服務會建立名為 video180__345600.mp4video180__331680.mp4 等名稱的區段。在這些範例中,區段持續時間是 345,600 毫秒和 331,680 毫秒。

在清單中,元AWS素 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$ 格式識別符,您還必須在其他所有輸出群組的輸出中使用。

指定最小位數

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

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

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

注意

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