Menggunakan template pekerjaan di MediaConvert - AWS SDK for JavaScript

Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan template pekerjaan di MediaConvert

JavaScript code example that applies to Node.js execution

Contoh kode Node.js ini menunjukkan:

  • Cara membuat template AWS Elemental MediaConvert pekerjaan.

  • Cara menggunakan template pekerjaan untuk membuat pekerjaan transcoding.

  • Cara membuat daftar semua templat pekerjaan Anda.

  • Cara menghapus template pekerjaan.

Skenario

Yang JSON diperlukan untuk membuat pekerjaan transcoding MediaConvert secara rinci, berisi sejumlah besar pengaturan. Anda dapat sangat menyederhanakan penciptaan lapangan kerja dengan menyimpan pengaturan yang diketahui baik dalam templat pekerjaan yang dapat Anda gunakan untuk membuat pekerjaan berikutnya. Dalam contoh ini, Anda menggunakan modul Node.js untuk memanggil MediaConvert untuk membuat, menggunakan, dan mengelola template pekerjaan. Kode menggunakan SDK for JavaScript untuk melakukan ini dengan menggunakan metode ini dari kelas MediaConvert klien:

Tugas prasyarat

Untuk mengatur dan menjalankan contoh ini, pertama-tama selesaikan tugas-tugas ini:

  • Siapkan lingkungan proyek untuk menjalankan TypeScript contoh Node ini, dan instal modul yang diperlukan AWS SDK for JavaScript dan pihak ketiga. Ikuti instruksi pada GitHub.

  • Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat File konfigurasi dan kredensial bersama di Panduan Referensi Alat dan Alat.AWS SDKs

  • Buat IAM peran yang memberikan MediaConvert akses ke file input dan bucket Amazon S3 tempat file output Anda disimpan. Untuk detailnya, lihat Mengatur IAM izin di Panduan AWS Elemental MediaConvert Pengguna.

penting

Contoh-contoh ini menggunakan ECMAScript6 (ES6). Ini membutuhkan Node.js versi 13.x atau lebih tinggi. Untuk mengunduh dan menginstal versi terbaru dari Node.js, lihat unduhan Node.js. .

Namun, jika Anda lebih suka menggunakan sintaks CommonJS, silakan merujuk ke. JavaScript ES6/CommonJS sintaks

Membuat template pekerjaan

Buat libs direktori, dan buat modul Node.js dengan nama fileemcClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang menciptakan objek MediaConvert klien. Ganti REGION dengan AWS wilayah Anda. Ganti ENDPOINT dengan titik akhir MediaConvert akun Anda, yang dapat Anda lakukan di halaman Akun di MediaConvert konsol.

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 };

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileemc_create_jobtemplate.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Tentukan parameter JSON untuk pembuatan template. Anda dapat menggunakan sebagian besar JSON parameter dari pekerjaan yang berhasil sebelumnya untuk menentukan Settings nilai dalam template. Contoh ini menggunakan pengaturan pekerjaan dariMembuat dan mengelola pekerjaan transcoding di MediaConvert.

Panggil CreateJobTemplateCommand metode dengan membuat janji untuk memanggil objek layanan MediaConvert klien, melewati parameter.

catatan

Ganti JOB_QUEUE_ARN dengan Amazon Resource Name (ARN) dari antrean pekerjaan untuk diperiksa, dan BUCKET_NAME dengan nama bucket Amazon S3 tujuan - misalnya, “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();

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt.

node emc_create_jobtemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.

Membuat pekerjaan transcoding dari template pekerjaan

Buat libs direktori, dan buat modul Node.js dengan nama fileemcClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang menciptakan objek MediaConvert klien. Ganti REGION dengan AWS wilayah Anda. Ganti ENDPOINT dengan titik akhir MediaConvert akun Anda, yang dapat Anda lakukan di halaman Akun di MediaConvert konsol.

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 };

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileemc_template_createjob.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat parameter pembuatan pekerjaanJSON, termasuk nama template pekerjaan yang akan digunakan, dan penggunaan yang khusus untuk pekerjaan yang Anda buat. Settings Kemudian panggil CreateJobsCommand metode dengan membuat janji untuk memanggil objek layanan MediaConvert klien, melewati parameter.

catatan

Ganti JOB_QUEUE_ARN dengan Amazon Resource Name (ARN) dari antrian pekerjaan untuk diperiksa, KEY_PAIR_NAME dengan, TEMPLATE_NAME dengan, ROLE_ARN dengan Nama Sumber Daya Amazon (ARN) dari peran tersebut, dan INPUT_BUCKET_AND_FILENAME dengan bucket input dan nama file - misalnya, “s3://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();

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt.

node emc_template_createjob.js

Kode contoh ini dapat ditemukan di sini GitHub.

Daftar template pekerjaan Anda

Buat libs direktori, dan buat modul Node.js dengan nama fileemcClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang menciptakan objek MediaConvert klien. Ganti REGION dengan AWS wilayah Anda. Ganti ENDPOINT dengan titik akhir MediaConvert akun Anda, yang dapat Anda lakukan di halaman Akun di MediaConvert konsol.

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 };

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileemc_listtemplates.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk melewati parameter permintaan untuk listTemplates metode kelas MediaConvert klien. Sertakan nilai untuk menentukan templat apa yang akan dicantumkan (NAME,CREATION DATE,SYSTEM), berapa banyak yang akan dicantumkan, dan urutan urutannya. Untuk memanggil ListTemplatesCommand metode, buat janji untuk memanggil objek layanan MediaConvert klien, melewati parameter.

// 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();

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt.

node emc_listtemplates.js

Kode contoh ini dapat ditemukan di sini GitHub.

Menghapus template pekerjaan

Buat libs direktori, dan buat modul Node.js dengan nama fileemcClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang menciptakan objek MediaConvert klien. Ganti REGION dengan AWS wilayah Anda. Ganti ENDPOINT dengan titik akhir MediaConvert akun Anda, yang dapat Anda lakukan di halaman Akun di MediaConvert konsol.

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 };

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileemc_deletetemplate.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk meneruskan nama template pekerjaan yang ingin Anda hapus sebagai parameter untuk DeleteJobTemplateCommand metode kelas MediaConvert klien. Untuk memanggil DeleteJobTemplateCommand metode, buat janji untuk memanggil objek layanan MediaConvert klien, melewati parameter.

// 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();

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt.

node emc_deletetemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.