全部產品
Search
文件中心

Intelligent Media Services:截圖任務

更新時間:Nov 02, 2024

通過閱讀本文,您可以瞭解通過服務端SDK調用OpenAPI發起並查詢智能媒體服務截圖任務的範例程式碼。

使用說明

發起截圖任務前,需要先建立截圖模板。通過TemplateId(截圖模板ID)發起截圖任務,發起截圖任務時,支援對截圖模板參數進行覆蓋重設,截圖任務處理成功後,可以根據返回的JobId(任務ID)查詢該截圖任務的詳細資料、截圖工作清單及截圖的訪問URL。

範例程式碼

您可以通過阿里雲OpenAPI開發人員門戶線上調試。

import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import Credential, { Config } from '@alicloud/credentials';
const Client = require('@alicloud/ice20201109').default;
const { SubmitSnapshotJobRequestOutput, SubmitSnapshotJobRequestInput, SubmitSnapshotJobRequestTemplateConfig } = require('@alicloud/ice20201109');

// 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
// 本樣本以將AccessKey ID和 AccessKey Secret儲存在環境變數為例說明。配置方法請參見:https://www.alibabacloud.com/help/zh/sdk/developer-reference/v2-manage-node-js-access-credentials。

const cred = new Credential();
const iceClient = new Client(new $OpenApi.Config({
  credential: cred,
  endpoint: 'ice.cn-shanghai.aliyuncs.com'
}));

// 如需寫入程式碼AccessKey ID和AccessKey Secret,代碼如下,但強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
// const iceClient = new Client(new $OpenApi.Config({
//   accessKeyId: '<yourAccessKeyId>',
//   accessKeySecret: '<yourAccessKeySecret>',
//   endpoint: 'ice.cn-shanghai.aliyuncs.com'
// }));

// 建立自訂截圖模版。
var snapshotTemplateconfig = "{\"Type\":\"Normal\",\"FrameType\":\"normal\",\"Time\":0,\"Count\":10}";
iceClient.createCustomTemplate({
    name: "snapshotTestTemplate",
    templateConfig: snapshotTemplateconfig,
    type: 2
}).then(function (data) {
    console.log(data.body);
}, function (err) {
    console.log('Error:' + err);
});

// 提交截圖任務。
iceClient.submitSnapshotJob({
    input: new SubmitSnapshotJobRequestInput({
        media: "6e9082b0507a71ed992190959850****",
        type: "Media"
    }),
    output: new SubmitSnapshotJobRequestOutput({
        media: "6e9082b0507a71ed992190959850****",
        type: "Media"
    }),
    templateConfig: new SubmitSnapshotJobRequestTemplateConfig({
        templateId: "8cf4c16c383f4a1f85b89c222a8f****"
    })
}).then(function (data) {
  console.log(data.body);
}, function (err) {
  console.log('Error:' + err);
});

// 查詢截圖任務。
var jobId = "c899056c1e26442cb6c0b7676875****";
iceClient.getSnapshotJob({
    jobId: jobId
}).then(function (data) {
    console.log(data.body);
}, function (err) {
    console.log('Error:' + err);
});


// 擷取截圖工作清單。
iceClient.listSnapshotJobs({
    pageSize: 5
}).then(function (data) {
    console.log(data.body);
}, function (err) {
    console.log('Error:' + err);
});

// 擷取截圖任務輸出圖片的訪問URL。
var jobId = "c899056c1e26442cb6c0b7676875****";
iceClient.getSnapshotUrls({
    jobId: jobId,
    pageSize: 5
}).then(function (data) {
    console.log(data.body);
}, function (err) {
    console.log('Error:' + err);
});

相關介面