Help Center/
Media Processing Center/
SDK Reference/
Java SDK/
Video Transcoding/
Creating a Transcoding Task
Updated on 2024-05-09 GMT+08:00
Creating a Transcoding Task
You can create a transcoding task by creating an MPC client instance and configuring related parameters.
Core Code
- Create an MPC client instance.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
public static MpcClient initMpcClient() { // Set httpConfig. HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(true).withTimeout(3); // Set the HTTP proxy as required. //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(); }
- Create a transcoding request and set the request body.
A transcoding request includes information about an input file and output file, and transcoding template settings. For details about the parameters, see Creating a Transcoding Task.
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
// Set the input file path. ObsObjInfo input = new ObsObjInfo() // Set the bucket name. .withBucket("mpc-east-2") // Set the region where the OBS bucket is located. .withLocation("region01") // Set the input file object. .withObject("input/ok.mp4"); // Set the output file path. ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01") // Set the output file path. .withObject("output"); // Create a transcoding request. CreateTranscodingTaskRequest request = new CreateTranscodingTaskRequest().withBody(new CreateTranscodingReq() .withInput(input) .withOutput(output) // Configure a transcoding template. To view IDs of system templates, choose Global SettingsSystem Templates on the MPC console. .withTransTemplateId(Collections.singletonList(7000530)) // Set output file names. Each template has a name. .withOutputFilenames(Collections.singletonList("output_")) // Configure snapshot parameters and fill in the thumbnail structure as required. //.withThumbnail(new Thumbnail()) // Configure encryption parameters and fill in the encryption structure as required. //.withEncryption(new Encryption()) );
- Send the transcoding request.
1 2 3 4
// Send the transcoding request. CreateTranscodingTaskResponse response = initMpcClient().createTranscodingTask(request); // Return a message. System.out.println("CreateTranscodingTaskResponse=" + response);
Sample 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 71 72 73 74 |
import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; 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.CreateTranscodingReq; import com.huaweicloud.sdk.mpc.v1.model.CreateTranscodingTaskRequest; import com.huaweicloud.sdk.mpc.v1.model.CreateTranscodingTaskResponse; import com.huaweicloud.sdk.mpc.v1.model.ListTranscodingTaskRequest; import com.huaweicloud.sdk.mpc.v1.model.ListTranscodingTaskResponse; import com.huaweicloud.sdk.mpc.v1.model.ObsObjInfo; import com.obs.services.internal.ServiceException; import org.junit.Test; import java.util.Arrays; import java.util.Collections; public class TestTranscode { /** * 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(); } /** * Create a transcoding task. * @param args */ public static void main(String[] args) { // Set the input file path. ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4"); // Set the output file path. ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output"); // Create a transcoding request. CreateTranscodingTaskRequest request = new CreateTranscodingTaskRequest().withBody(new CreateTranscodingReq() .withInput(input) .withOutput(output) // Configure a transcoding template. To view IDs of system templates, choose Global SettingsSystem Templates on the MPC console. .withTransTemplateId(Collections.singletonList(7000530)) // Set output file names. Each template has a name. .withOutputFilenames(Collections.singletonList("output_")) // Configure snapshot parameters. //.withThumbnail(new Thumbnail()) // Configure encryption parameters. //.withEncryption(new Encryption()) ); try { CreateTranscodingTaskResponse response = initMpcClient().createTranscodingTask(request); System.out.println("CreateTranscodingTaskResponse=" + response); } catch (ClientRequestException | ConnectionException | RequestTimeoutException | ServiceException e) { System.out.println(e); } } } |
Parent topic: Video Transcoding
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot