Updated on 2024-05-09 GMT+08:00

Updating a Watermark Template

Core Code

  1. Set template parameters.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    // Create a request for updating a watermark template.
    UpdateWatermarkTemplateRequest req = new UpdateWatermarkTemplateRequest()
        .withBody(new WatermarkTemplate()
               // Set the template name.
                .withTemplateName("watermark_name")
               // Set the template type.
                .withType("Image")
               // Set the image watermark processing mode.
                .withImageProcess("Grayed")
               // Set the watermark width.
                .withWidth("1920")
               // Set the watermark height.
                .withHeight("1080")
               // Set the horizontal offset of the watermark relative to the video vertex.
                .withDx("10")
                // Set the vertical offset of the watermark relative to the video vertex.
                .withDy("10")
                // Set the watermark position.
                //.withReferpos("BottomLeft")
                // Set the start time of the watermark, which is used together with timeline_duration.
                .withTimelineStart("0")
                // Set the watermark duration. The default value is ToEND, indicating that the watermark persists until the video ends.
                .withTimelineDuration("ToEND"));
    
  2. Send the request for updating a watermark template and return a message.
    1
    2
    3
    4
    // Send the request for updating the watermark configuration to MPC.
    UpdateWatermarkTemplateResponse rsp = initMpcClient().updateWatermarkTemplate(req);
    // Print the response message.
    System.out.println("UpdateWatermarkTemplateResponse=" + JsonUtils.toJSON(rsp));
    

Full Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.http.HttpConfig;
import com.huaweicloud.sdk.core.utils.JsonUtils;
import com.huaweicloud.sdk.mpc.v1.MpcClient;
import com.huaweicloud.sdk.mpc.v1.model.UpdateWatermarkTemplateRequest;
import com.huaweicloud.sdk.mpc.v1.model.UpdateWatermarkTemplateResponse;
import com.huaweicloud.sdk.mpc.v1.model.WatermarkTemplate;

public class TestUpdateWatermarkTemplate {
    /**
     * Initialize the MPC client.
     * @return
     */
    public static MpcClient initMpcClient() {
        HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(true).withTimeout(3);
        // Configure the HTTP proxy.
        //httpConfig.withProxyHost("xxxxxx").withProxyPort(xxxxxx).withProxyUsername("xxxxxx").
        //        withProxyPassword("xxxxxx");
        // Enter the AK and SK. To view your AK and SK, choose My CredentialsAccess Keys under your account on the console.
        String ak = "xxxxxx";
        String sk = "xxxxxx";
        // Enter the project ID. To view your project ID, choose My CredentialsAPI Credentials under your account on the console.
        String projectId = "xxxxxx";
        // Enter the endpoint. The following uses region01 as an example.
        String endpoint = "https://mpc.region01.myhuaweicloud.com";
        BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
        return MpcClient.newBuilder()
                .withHttpConfig(httpConfig)
                .withCredential(auth)
                .withEndpoint(endpoint)
                .build();
    }

    /**
      * Update a watermark template.
     * @param args
     */
    public static void main(String[] args) {
        // Create a request for updating a watermark template.
        UpdateWatermarkTemplateRequest req = new UpdateWatermarkTemplateRequest()
                .withBody(new WatermarkTemplate()
                        // Set the template name.
                        .withTemplateName("watermark_name")
                        // Set the template type.
                        .withType("Image")
                        // Set the image watermark processing mode.
                        .withImageProcess("Grayed")
                        // Set the watermark width.
                        .withWidth("1920")
                        // Set the watermark height.
                        .withHeight("1080")
                        // Set the horizontal offset of the watermark relative to the video vertex.
                        .withDx("10")
                        // Set the vertical offset of the watermark relative to the video vertex.
                        .withDy("10")
                        // Set the watermark position.
                        //.withReferpos("BottomLeft")
                        // Set the start time of the watermark, which is used together with timeline_duration. 
                        .withTimelineStart("0")
                        // Set the watermark duration. The default value is ToEND, indicating that the watermark persists until the video ends.
                        .withTimelineDuration("ToEND"));
        // Send a watermark template request.
        try {
            UpdateWatermarkTemplateResponse rsp = initMpcClient().updateWatermarkTemplate(req);
            System.out.println("UpdateWatermarkTemplateResponse=" + JsonUtils.toJSON(rsp));
        } catch (ClientRequestException | ConnectionException | RequestTimeoutException | ServiceException e) {
            System.out.println(e);
        }
    }
}