AWS SDK for JavaScript V3 API リファレンスガイドでは、 AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でのジョブテンプレートの使用 MediaConvert
この Node.js コード例は以下を示しています。
AWS Elemental MediaConvert ジョブテンプレートを作成する方法。
コード変換ジョブを作成するためのジョブテンプレートを使用する方法。
すべてのジョブテンプレートを一覧表示する方法。
ジョブテンプレートを作成する方法。
シナリオ
でトランスコーディングジョブを作成するJSONために必要な MediaConvert は詳細であり、多数の設定が含まれています。後続のジョブを作成するために使用できるジョブテンプレートに既知の正常な設定を保存することで、ジョブ作成を大幅に簡素化できます。この例では、Node.js モジュールを使用して MediaConvert を呼び出し、ジョブテンプレートを作成、使用、管理します。コードは、 SDK の JavaScript を使用して、 MediaConvertクライアントクラスの次の方法を使用してこれを行います。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了します。
-
これらの Node TypeScript 例を実行するようにプロジェクト環境を設定し、必要な AWS SDK for JavaScript モジュールとサードパーティーモジュールをインストールします。の指示に従います GitHub
。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、「」およびツールリファレンスガイドの「共有設定ファイルと認証情報ファイル」を参照してください。 AWS SDKs
入力ファイルと出力ファイルが保存されている Amazon S3 バケット MediaConvert へのアクセスを許可するIAMロールを作成します。詳細については、AWS Elemental MediaConvert 「 ユーザーガイド」のIAM「アクセス許可の設定」を参照してください。
重要
これらの例では ECMAScript6 () を使用しますES6。これには Node.js バージョン 13.x 以降が必要です。Node.js の最新バージョンをダウンロードしてインストールするには、「Node.js ダウンロード
ただし、CommonJS 構文を使用したい場合は、「JavaScript ES6/CommonJS 構文」を参照してください。
ジョブテンプレートの作成
libs
ディレクトリを作成し、ファイル名emcClient.js
でNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、 MediaConvert クライアントオブジェクトが作成されます。置換 REGION
AWS リージョンを使用します。置換 ENDPOINT
MediaConvert は、 MediaConvert コンソールの アカウントページで実行できる アカウントエンドポイントを使用します。
import { MediaConvertClient } from "@aws-sdk/client-mediaconvert"; // Set the account end point. const ENDPOINT = { endpoint: "https://ENDPOINT_UNIQUE_STRING.mediaconvert.REGION.amazonaws.com", }; // Set the MediaConvert Service Object const emcClient = new MediaConvertClient(ENDPOINT); export { emcClient };
このサンプルコードは、 GitHub
emc_create_jobtemplate.js
というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定してください。
テンプレート作成JSONのパラメータを指定します。以前の成功したジョブのJSONパラメータのほとんどを使用して、テンプレートSettings
の値を指定できます。この例では、でのトランスコーディングジョブの作成と管理 MediaConvert のジョブ設定を使用します。
次に、MediaConvert
クライアントサービスオブジェクトを呼び出すための promise を作成してCreateJobTemplateCommand
メソッドを呼び出し、パラメータを渡します。
注記
置換 JOB_QUEUE_ARN
チェックするジョブキューの Amazon リソースネーム (ARN)、および BUCKET_NAME
宛先 Amazon S3 バケットの名前 - たとえば、「s3://BUCKET_NAME/」。
// Import required AWS-SDK clients and commands for Node.js import { CreateJobTemplateCommand } from "@aws-sdk/client-mediaconvert"; import { emcClient } from "./libs/emcClient.js"; const params = { Category: "YouTube Jobs", Description: "Final production transcode", Name: "DemoTemplate", Queue: "JOB_QUEUE_ARN", //JOB_QUEUE_ARN Settings: { OutputGroups: [ { Name: "File Group", OutputGroupSettings: { Type: "FILE_GROUP_SETTINGS", FileGroupSettings: { Destination: "BUCKET_NAME", // BUCKET_NAME e.g., "s3://BUCKET_NAME/" }, }, Outputs: [ { VideoDescription: { ScalingBehavior: "DEFAULT", TimecodeInsertion: "DISABLED", AntiAlias: "ENABLED", Sharpness: 50, CodecSettings: { Codec: "H_264", H264Settings: { InterlaceMode: "PROGRESSIVE", NumberReferenceFrames: 3, Syntax: "DEFAULT", Softness: 0, GopClosedCadence: 1, GopSize: 90, Slices: 1, GopBReference: "DISABLED", SlowPal: "DISABLED", SpatialAdaptiveQuantization: "ENABLED", TemporalAdaptiveQuantization: "ENABLED", FlickerAdaptiveQuantization: "DISABLED", EntropyEncoding: "CABAC", Bitrate: 5000000, FramerateControl: "SPECIFIED", RateControlMode: "CBR", CodecProfile: "MAIN", Telecine: "NONE", MinIInterval: 0, AdaptiveQuantization: "HIGH", CodecLevel: "AUTO", FieldEncoding: "PAFF", SceneChangeDetect: "ENABLED", QualityTuningLevel: "SINGLE_PASS", FramerateConversionAlgorithm: "DUPLICATE_DROP", UnregisteredSeiTimecode: "DISABLED", GopSizeUnits: "FRAMES", ParControl: "SPECIFIED", NumberBFramesBetweenReferenceFrames: 2, RepeatPps: "DISABLED", FramerateNumerator: 30, FramerateDenominator: 1, ParNumerator: 1, ParDenominator: 1, }, }, AfdSignaling: "NONE", DropFrameTimecode: "ENABLED", RespondToAfd: "NONE", ColorMetadata: "INSERT", }, AudioDescriptions: [ { AudioTypeControl: "FOLLOW_INPUT", CodecSettings: { Codec: "AAC", AacSettings: { AudioDescriptionBroadcasterMix: "NORMAL", RateControlMode: "CBR", CodecProfile: "LC", CodingMode: "CODING_MODE_2_0", RawFormat: "NONE", SampleRate: 48000, Specification: "MPEG4", Bitrate: 64000, }, }, LanguageCodeControl: "FOLLOW_INPUT", AudioSourceName: "Audio Selector 1", }, ], ContainerSettings: { Container: "MP4", Mp4Settings: { CslgAtom: "INCLUDE", FreeSpaceBox: "EXCLUDE", MoovPlacement: "PROGRESSIVE_DOWNLOAD", }, }, NameModifier: "_1", }, ], }, ], AdAvailOffset: 0, Inputs: [ { AudioSelectors: { "Audio Selector 1": { Offset: 0, DefaultSelection: "NOT_DEFAULT", ProgramSelection: 1, SelectorType: "TRACK", Tracks: [1], }, }, VideoSelector: { ColorSpace: "FOLLOW", }, FilterEnable: "AUTO", PsiControl: "USE_PSI", FilterStrength: 0, DeblockFilter: "DISABLED", DenoiseFilter: "DISABLED", TimecodeSource: "EMBEDDED", }, ], TimecodeConfig: { Source: "EMBEDDED", }, }, }; const run = async () => { try { // Create a promise on a MediaConvert object const data = await emcClient.send(new CreateJobTemplateCommand(params)); console.log("Success!", data); return data; } catch (err) { console.log("Error", err); } }; run();
この例を実行するには、コマンドプロンプトで以下を入力します。
node emc_create_jobtemplate.js
このサンプルコードは、「」で GitHub
ジョブテンプレートからコード変換ジョブを作成します
libs
ディレクトリを作成し、ファイル名emcClient.js
でNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、 MediaConvert クライアントオブジェクトが作成されます。置換 REGION
AWS リージョンを使用します。置換 ENDPOINT
MediaConvert は、 MediaConvert コンソールの アカウントページで実行できる アカウントエンドポイントを使用します。
import { MediaConvertClient } from "@aws-sdk/client-mediaconvert"; // Set the account end point. const ENDPOINT = { endpoint: "https://ENDPOINT_UNIQUE_STRING.mediaconvert.REGION.amazonaws.com", }; // Set the MediaConvert Service Object const emcClient = new MediaConvertClient(ENDPOINT); export { emcClient };
このサンプルコードは、「」で GitHub
emc_template_createjob.js
というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定してください。
使用するジョブテンプレートの名前、作成するジョブに固有の Settings
JSONなど、ジョブ作成パラメータ を作成します。次に、MediaConvert
クライアントサービスオブジェクトを呼び出すための promise を作成してCreateJobsCommand
メソッドを呼び出し、パラメータを渡します。
注記
置換 JOB_QUEUE_ARN
チェックするジョブキューの Amazon リソースネーム (ARN)、KEY_PAIR_NAME
と、TEMPLATE_NAME
と、ROLE_ARN
ロールの Amazon リソースネーム (ARN) と INPUT_BUCKET_AND_FILENAME
入力バケットとファイル名 - 例えば、「3://BUCKET_NAME/FILE_NAME」。
// Import required AWS-SDK clients and commands for Node.js import { CreateJobCommand } from "@aws-sdk/client-mediaconvert"; import { emcClient } from "./libs/emcClient.js"; const params = { Queue: "QUEUE_ARN", //QUEUE_ARN JobTemplate: "TEMPLATE_NAME", //TEMPLATE_NAME Role: "ROLE_ARN", //ROLE_ARN Settings: { Inputs: [ { AudioSelectors: { "Audio Selector 1": { Offset: 0, DefaultSelection: "NOT_DEFAULT", ProgramSelection: 1, SelectorType: "TRACK", Tracks: [1], }, }, VideoSelector: { ColorSpace: "FOLLOW", }, FilterEnable: "AUTO", PsiControl: "USE_PSI", FilterStrength: 0, DeblockFilter: "DISABLED", DenoiseFilter: "DISABLED", TimecodeSource: "EMBEDDED", FileInput: "INPUT_BUCKET_AND_FILENAME", //INPUT_BUCKET_AND_FILENAME, e.g., "s3://BUCKET_NAME/FILE_NAME" }, ], }, }; const run = async () => { try { const data = await emcClient.send(new CreateJobCommand(params)); console.log("Success! ", data); return data; } catch (err) { console.log("Error", err); } }; run();
この例を実行するには、コマンドプロンプトで以下を入力します。
node emc_template_createjob.js
このサンプルコードは、 で GitHub
ジョブテンプレートの一覧表化
libs
ディレクトリを作成し、ファイル名emcClient.js
でNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、 MediaConvert クライアントオブジェクトが作成されます。置換 REGION
AWS リージョンを使用します。置換 ENDPOINT
MediaConvert は、 MediaConvert コンソールの アカウントページで実行できる アカウントエンドポイントを使用します。
import { MediaConvertClient } from "@aws-sdk/client-mediaconvert"; // Set the account end point. const ENDPOINT = { endpoint: "https://ENDPOINT_UNIQUE_STRING.mediaconvert.REGION.amazonaws.com", }; // Set the MediaConvert Service Object const emcClient = new MediaConvertClient(ENDPOINT); export { emcClient };
このサンプルコードは、 で GitHub
emc_listtemplates.js
というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定してください。
MediaConvert
クライアントクラスの listTemplates
メソッドで空のリクエストパラメータを渡すためのオブジェクトを作成します。一覧表示するテンプレート (NAME
、CREATION DATE
、SYSTEM
)、一覧表示するテンプレートの数、およびそれらのソート順を決定するための値を含めます。ListTemplatesCommand
メソッドを呼び出すには、 パラメータを渡してクライアントサービスオブジェクトを MediaConvert呼び出すためのプロミスを作成します。
// Import required AWS-SDK clients and commands for Node.js import { ListJobTemplatesCommand } from "@aws-sdk/client-mediaconvert"; import { emcClient } from "./libs/emcClient.js"; const params = { ListBy: "NAME", MaxResults: 10, Order: "ASCENDING", }; const run = async () => { try { const data = await emcClient.send(new ListJobTemplatesCommand(params)); console.log("Success ", data.JobTemplates); return data; } catch (err) { console.log("Error", err); } }; run();
この例を実行するには、コマンドプロンプトで以下を入力します。
node emc_listtemplates.js
このサンプルコードは、 で GitHub
ジョブテンプレートの削除
libs
ディレクトリを作成し、ファイル名emcClient.js
でNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、 MediaConvert クライアントオブジェクトが作成されます。置換 REGION
AWS リージョンを使用します。置換 ENDPOINT
MediaConvert は、 MediaConvert コンソールの アカウントページで実行できる アカウントエンドポイントを使用します。
import { MediaConvertClient } from "@aws-sdk/client-mediaconvert"; // Set the account end point. const ENDPOINT = { endpoint: "https://ENDPOINT_UNIQUE_STRING.mediaconvert.REGION.amazonaws.com", }; // Set the MediaConvert Service Object const emcClient = new MediaConvertClient(ENDPOINT); export { emcClient };
このサンプルコードは、 で GitHub
emc_deletetemplate.js
というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定してください。
削除するジョブテンプレートの名前を MediaConvert
クライアントクラスの DeleteJobTemplateCommand
メソッドのパラメータとして渡すオブジェクトを作成します。DeleteJobTemplateCommand
メソッドを呼び出すには、 MediaConvert クライアントサービスオブジェクトを呼び出し、パラメータを渡すためのプロミスを作成します。
// Import required AWS-SDK clients and commands for Node.js import { DeleteJobTemplateCommand } from "@aws-sdk/client-mediaconvert"; import { emcClient } from "./libs/emcClient.js"; // Set the parameters const params = { Name: "test" }; //TEMPLATE_NAME const run = async () => { try { const data = await emcClient.send(new DeleteJobTemplateCommand(params)); console.log( "Success, template deleted! Request ID:", data.$metadata.requestId, ); return data; } catch (err) { console.log("Error", err); } }; run();
この例を実行するには、コマンドプロンプトで以下を入力します。
node emc_deletetemplate.js
このサンプルコードは、 で GitHub