Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Modèles de capture d'écran

Dernière mise à jour :Aug 10, 2026

Les modèles de capture d'écran définissent la taille, le nombre et le moment des captures vidéo. Cette rubrique fournit des exemples de code pour le SDK pour Java afin de créer et de gérer des modèles de capture d'écran.

Remarques d'utilisation

  • Tous les exemples de cette rubrique utilisent une paire AccessKey pour initialiser une instance de client.

  • Pour plus de détails sur les paramètres de requête et de réponse, consultez l'outil Alibaba Cloud OpenAPI Explorer et ouvrez l'onglet API Documentations.

  • Pour obtenir des exemples de SDK pour d'autres opérations API, rendez-vous sur Alibaba Cloud OpenAPI Explorer. Dans l'onglet Parameters, spécifiez les paramètres et lancez l'appel. Sélectionnez ensuite la version du SDK et le langage dans l'onglet SDK Sample Code pour afficher et télécharger le code.

  • Les exemples de cette rubrique utilisent le SDK V1.0. Pour les exemples V2.0, sélectionnez la version correcte du SDK dans OpenAPI Explorer.

Initialiser un client

Avant d'utiliser le SDK, initialisez un client comme décrit dans la section Initialisation.

Créer un modèle de capture d'écran

Appelez l'opération AddVodTemplate pour créer un modèle de capture d'écran.

Portail Alibaba Cloud OpenAPI : AddVodTemplate.

Exemple de code :

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateResponse;

/** 
 * Obtain the AccessKey information.
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    // Specify the region in which ApsaraVideo VOD is activated.
    String regionId = "cn-shanghai";  
    // The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. We recommend that you use a RAM user to call API operations or perform routine O&M. 
    // We recommend that you do not save your AccessKey pair (AccessKey ID and AccessKey secret) in your project code. Otherwise, the AccessKey pair may be leaked. As a result, the security of all resources in your account is compromised. 
    // In this example, the system reads the AccessKey pair from environment variables to implement authentication for API access. Before you run the sample code, configure the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET. 
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

/**
 * Construct the snapshot template parameters and modify the corresponding parameter values as needed.
 * The following sample code describes the complete configuration of image sprites.
 * @return The snapshot template configurations.
 */
public static JSONObject buildSnapshotTemplateConfig() {
    JSONObject templateConfig = new JSONObject();
    JSONObject snapshotConfig = new JSONObject();
    snapshotConfig.put("Count", "50");
    snapshotConfig.put("Interval", "1");
    snapshotConfig.put("SpecifiedOffsetTime", "0");
    snapshotConfig.put("Width", "200");
    snapshotConfig.put("Height", "200");
    snapshotConfig.put("FrameType", "normal");
    // The configurations of normal snapshots. By default, the configurations are also used for image sprites.
    templateConfig.put("SnapshotConfig", snapshotConfig);

    // The configurations of image sprites. The configurations of normal snapshots are included.
    JSONObject spriteSnapshotConfig = new JSONObject();
    spriteSnapshotConfig.put("CellWidth", "120");
    spriteSnapshotConfig.put("CellHeight", "68");
    spriteSnapshotConfig.put("Columns", "3");
    spriteSnapshotConfig.put("Lines", "10");
    spriteSnapshotConfig.put("Padding", "20");
    spriteSnapshotConfig.put("Margin", "50");
    spriteSnapshotConfig.put("KeepCellPic", "keep");
    spriteSnapshotConfig.put("Color", "tomato");
    snapshotConfig.put("SpriteSnapshotConfig", spriteSnapshotConfig);

    // The snapshot type. Set the value to SpriteSnapshot for image sprites and to NormalSnapshot for normal snapshots.
    templateConfig.put("SnapshotType", "SpriteSnapshot");
    return templateConfig;
}

/**
 * Add a snapshot template function.
 */
public static AddVodTemplateResponse addSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    AddVodTemplateRequest request = new AddVodTemplateRequest();
    // The name of the template.
    request.setName("Test to add a snapshot template");
    // The template type. Set the value to Snapshot.
    request.setTemplateType("Snapshot");
    // The template configurations.
    JSONObject templateConfig = buildSnapshotTemplateConfig();
    request.setTemplateConfig(templateConfig.toJSONString());
    return client.getAcsResponse(request);
}

/**
 * Sample code
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient();
    AddVodTemplateResponse response = new AddVodTemplateResponse();
    try {
        // Create a snapshot template.
        response = addSnapshotVodTemplate(client);
        // The ID of the snapshot template.
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

Modifier un modèle de capture d'écran

Appelez l'opération UpdateVodTemplate pour modifier un modèle de capture d'écran.

Portail Alibaba Cloud OpenAPI : UpdateVodTemplate.

Exemple de code :

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.UpdateVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.UpdateVodTemplateResponse;

/** 
 * Obtain the AccessKey information.
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    // Specify the region in which ApsaraVideo VOD is activated.
    String regionId = "cn-shanghai";  
    // The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. We recommend that you use a RAM user to call API operations or perform routine O&M. 
    // We recommend that you do not save your AccessKey pair (AccessKey ID and AccessKey secret) in your project code. Otherwise, the AccessKey pair may be leaked. As a result, the security of all resources in your account is compromised. 
    // In this example, the system reads the AccessKey pair from environment variables to implement authentication for API access. Before you run the sample code, configure the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET. 
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

/**
 * Construct the snapshot template parameters and modify the corresponding parameter values as needed.
 * The following sample code describes the complete configuration of normal snapshots.
 * @return The snapshot template configurations.
 */
public static JSONObject buildSnapshotTemplateConfig() {
    JSONObject templateConfig = new JSONObject();
    JSONObject snapshotConfig = new JSONObject();
    snapshotConfig.put("Count", "50");
    snapshotConfig.put("Interval", "1");
    snapshotConfig.put("SpecifiedOffsetTime", "0");
    snapshotConfig.put("Width", "200");
    snapshotConfig.put("Height", "200");
    snapshotConfig.put("FrameType", "normal");
    // The configurations of normal snapshots. By default, the configurations are also used for image sprites.
    templateConfig.put("SnapshotConfig", snapshotConfig);

    // The snapshot type. Set the value to SpriteSnapshot for image sprites and to NormalSnapshot for normal snapshots.
    templateConfig.put("SnapshotType", "NormalSnapshot");
    return templateConfig;
}

/**
 * Modify a snapshot template.
 */
public static UpdateVodTemplateResponse updateSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    UpdateVodTemplateRequest request = new UpdateVodTemplateRequest();
    // The ID of the template that you want to modify.
    request.setVodTemplateId("53azf9d796fad9d7b862b2e****");
    // The name of the template.
    request.setName("Test to modify a snapshot template");
    // The template configurations.
    JSONObject templateConfig = buildSnapshotTemplateConfig();
    request.setTemplateConfig(templateConfig.toJSONString());
    return client.getAcsResponse(request);
}

/**
 * Sample code
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient();
    UpdateVodTemplateResponse response = new UpdateVodTemplateResponse();
    try {
        // Modify a snapshot template.
        response = updateSnapshotVodTemplate(client);
        // The ID of the snapshot template.
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

Interroger un modèle de capture d'écran

  • Appelez l'opération GetVodTemplate pour interroger un modèle de capture d'écran.

    Portail Alibaba Cloud OpenAPI : GetVodTemplate.

  • Appelez l'opération ListVodTemplate pour interroger une liste de modèles de capture d'écran.

    Portail Alibaba Cloud OpenAPI : ListVodTemplate.

Supprimer un modèle de capture d'écran

Appelez l'opération DeleteVodTemplate pour supprimer un modèle de capture d'écran.

Portail Alibaba Cloud OpenAPI : DeleteVodTemplate.