Menggunakan Job Template di MediaConvert - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

Menggunakan Job Template di MediaConvert

JavaScript code example that applies to Node.js execution

Contoh kode Node.js ini menunjukkan:

  • Cara membuat template MediaConvert pekerjaan.

  • Cara menggunakan template pekerjaan untuk membuat pekerjaan transcoding.

  • Cara membuat daftar semua templat pekerjaan Anda.

  • Cara menghapus template pekerjaan.

Skenario

JSON yang 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 JavaScript untuk melakukan ini dengan menggunakan metode kelas MediaConvert klien berikut:

Tugas Prasyarat

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

  • Instal Node.js. Untuk informasi selengkapnya, lihat situs web Node.js.

  • Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. Memuat Kredensial di Node.js dari File Kredensial Bersama

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

Membuat Template Job

Buat modul Node.js dengan nama fileemc_create_jobtemplate.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya.

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

Panggil createJobTemplate metode dengan membuat janji untuk memanggil objek AWS.MediaConvert layanan, melewati parameter. Kemudian tangani respons dalam panggilan balik janji.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the Region AWS.config.update({ region: "us-west-2" }); // Set the custom endpoint for your account AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" }; var params = { Category: "YouTube Jobs", Description: "Final production transcode", Name: "DemoTemplate", Queue: "JOB_QUEUE_ARN", Settings: { OutputGroups: [ { Name: "File Group", OutputGroupSettings: { Type: "FILE_GROUP_SETTINGS", FileGroupSettings: { Destination: "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", }, }, }; // Create a promise on a MediaConvert object var templatePromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" }) .createJobTemplate(params) .promise(); // Handle promise's fulfilled/rejected status templatePromise.then( function (data) { console.log("Success!", data); }, function (err) { console.log("Error", err); } );

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node emc_create_jobtemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.

Membuat Transcoding Job dari Job Template

Buat modul Node.js dengan nama fileemc_template_createjob.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya.

Buat parameter pembuatan pekerjaan JSON, termasuk nama template pekerjaan yang akan digunakan, dan penggunaan yang khusus untuk pekerjaan yang Anda buat. Settings Kemudian panggil createJobs metode dengan membuat janji untuk memanggil objek AWS.MediaConvert layanan, melewati parameter. Tangani respons dalam callback janji.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the Region AWS.config.update({ region: "us-west-2" }); // Set the custom endpoint for your account AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" }; var params = { Queue: "QUEUE_ARN", JobTemplate: "TEMPLATE_NAME", Role: "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: "s3://BUCKET_NAME/FILE_NAME", }, ], }, }; // Create a promise on a MediaConvert object var templateJobPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" }) .createJob(params) .promise(); // Handle promise's fulfilled/rejected status templateJobPromise.then( function (data) { console.log("Success! ", data); }, function (err) { console.log("Error", err); } );

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node emc_template_createjob.js

Kode contoh ini dapat ditemukan di sini GitHub.

Daftar Template Job Anda

Buat modul Node.js dengan nama fileemc_listtemplates.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya.

Buat objek untuk melewati parameter permintaan untuk listTemplates metode kelas AWS.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 listTemplates metode, buat janji untuk memanggil objek MediaConvert layanan, melewati parameter. Kemudian tangani respons dalam panggilan balik janji.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the Region AWS.config.update({ region: "us-west-2" }); // Set the customer endpoint AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" }; var params = { ListBy: "NAME", MaxResults: 10, Order: "ASCENDING", }; // Create a promise on a MediaConvert object var listTemplatesPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" }) .listJobTemplates(params) .promise(); // Handle promise's fulfilled/rejected status listTemplatesPromise.then( function (data) { console.log("Success ", data); }, function (err) { console.log("Error", err); } );

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node emc_listtemplates.js

Kode contoh ini dapat ditemukan di sini GitHub.

Menghapus Template Job

Buat modul Node.js dengan nama fileemc_deletetemplate.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya.

Buat objek untuk meneruskan nama template pekerjaan yang ingin Anda hapus sebagai parameter untuk deleteJobTemplate metode kelas AWS.MediaConvert klien. Untuk memanggil deleteJobTemplate metode, buat janji untuk memanggil objek MediaConvert layanan, melewati parameter. Tangani respons dalam callback janji.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the Region AWS.config.update({ region: "us-west-2" }); // Set the customer endpoint AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" }; var params = { Name: "TEMPLATE_NAME", }; // Create a promise on a MediaConvert object var deleteTemplatePromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" }) .deleteJobTemplate(params) .promise(); // Handle promise's fulfilled/rejected status deleteTemplatePromise.then( function (data) { console.log("Success ", data); }, function (err) { console.log("Error", err); } );

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node emc_deletetemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.