All Products
Search
Document Center

ApsaraVideo Media Processing:Mengambil snapshot

Last Updated:Jul 06, 2025

Gunakan fitur snapshot video untuk mengambil snapshot dengan ukuran tertentu pada titik waktu tertentu dalam video. Snapshot ini dapat digunakan dalam skenario seperti thumbnail video, sprite, dan thumbnail bilah kemajuan. Anda dapat menentukan waktu pengambilan snapshot, interval antar snapshot, jumlah snapshot yang dihasilkan, jenis snapshot, serta apakah snapshot akan disusun menjadi satu sprite gambar. Pekerjaan snapshot dapat dikirimkan melalui konsol ApsaraVideo Media Processing (MPS) atau menggunakan API atau SDK. Topik ini memberikan contoh penggunaan MPS SDK untuk Node.js V2.0 dalam mengambil snapshot.

Kode contoh

'use strict';


const Mts20140618 = require('@alicloud/mts20140618');
const OpenApi = require('@alicloud/openapi-client');
const Util = require('@alicloud/tea-util');
const Tea = require('@alicloud/tea-typescript');

class Client {

    /**
     * Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.
     * @return Client
     * @throws Exception
     */
    static createClient() {

        let config = new OpenApi.Config({
                // Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi. 
                accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
                // Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi. 
                accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
        });

        config.endpoint = `mts.cn-qingdao.aliyuncs.com`;
        return new Mts20140618.default(config);
    }

    static async main(args) {
        let client = Client.createClient();
        let submitSnapshotJobRequest = new Mts20140618.SubmitSnapshotJobRequest({
                // Masukan pekerjaan.
                input: '{"Bucket":"example-bucket","Location":"example-location","Object":"example%2Ftest.flv"}',
                // Konfigurasi pekerjaan snapshot.
                snapshotConfig: '{"OutputFile":{"Bucket":"example-001","Location":"example-location","Object":"{Count}.jpg"},"Time":"5","Num":"10","Interval":"20"}',
                // Data yang ditentukan pengguna.
                userData: 'testid-001',
                // ID antrian MPS.
                pipelineId: 'dd3dae411e704030b921e52698e5****',
    });
        let runtime = new Util.RuntimeOptions({ });
        try {
            // Tulis kode Anda sendiri untuk menampilkan respons dari operasi API jika diperlukan.
            await client.submitSnapshotJobWithOptions(submitSnapshotJobRequest, runtime);
        } catch (error) {
            // Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi. 
            // Pesan kesalahan.
            console.log(error.message);
            // URL halaman diagnostik kesalahan terkait.
            console.log(error.data["Recommend"]);
            Util.default.assertAsString(error.message);
        }
    }

}

exports.Client = Client;
Client.main(process.argv.slice(2));

Referensi