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