Help Center/
Media Processing Center/
SDK Reference/
Java SDK/
Animated GIFs/
Creating an Animated GIF Task
Updated on 2024-05-09 GMT+08:00
Creating an Animated GIF Task
You can create an MPC client instance and configure related parameters to create an animated GIF task, which is used to convert a video to an animated GIF.
Prerequisites
- You have purchased OBS and uploaded source videos for media processing in the region of MPC (for example, CN North-Beijing4) by referring to Uploading Media Files.
- You have obtained the authorization for MPC to access cloud resources by following the instructions provided in Authorizing Access to Cloud Resources.
Core Code
- Create an animated GIF task.
Configure parameters such as the paths of the input and output files, as well as frame rate and width and height of the output file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// Set the paths of the input and output files. ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4"); ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output"); // Create an animated GIF request. CreateAnimatedGraphicsTaskRequest req = new CreateAnimatedGraphicsTaskRequest() .withBody(new CreateAnimatedGraphicsTaskReq().withInput(input).withOutput(output) .withOutputParam(new AnimatedGraphicsOutputParam() // Set the output image format. .withFormat(AnimatedGraphicsOutputParam.FormatEnum.GIF) // Set the output image frame rate. .withFrameRate(15) // Set the start time, in milliseconds. .withStart(0) // Set the end time, in milliseconds. The maximum interval is 60 seconds. .withEnd(3_000))); // Send the request. CreateAnimatedGraphicsTaskResponse rsp = initMpcClient().createAnimatedGraphicsTask(req); // Print the result. System.out.println("CreateAnimatedGraphicsTaskResponse=" + 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 |
import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ClientRequestException; 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.AnimatedGraphicsOutputParam; import com.huaweicloud.sdk.mpc.v1.model.CreateAnimatedGraphicsTaskReq; import com.huaweicloud.sdk.mpc.v1.model.CreateAnimatedGraphicsTaskRequest; import com.huaweicloud.sdk.mpc.v1.model.CreateAnimatedGraphicsTaskResponse; import com.huaweicloud.sdk.mpc.v1.model.ObsObjInfo; import com.obs.services.internal.ServiceException; public class TestAnimation { /** * 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 an animated GIF task. * @param args */ public static void main(String[] args) { // Set the paths of the input and output files. ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4"); ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output"); // Create an animated GIF request. CreateAnimatedGraphicsTaskRequest req = new CreateAnimatedGraphicsTaskRequest() .withBody(new CreateAnimatedGraphicsTaskReq().withInput(input).withOutput(output) .withOutputParam(new AnimatedGraphicsOutputParam() // Set the output image format. .withFormat(AnimatedGraphicsOutputParam.FormatEnum.GIF) // Set the output image frame rate. .withFrameRate(15) // Set the start time, in milliseconds. .withStart(0) // Set the end time, in milliseconds. The maximum interval is 60 seconds. .withEnd(3_000))); try { CreateAnimatedGraphicsTaskResponse rsp = initMpcClient().createAnimatedGraphicsTask(req); System.out.println("CreateAnimatedGraphicsTaskResponse=" + JsonUtils.toJSON(rsp)); } catch (ClientRequestException | ConnectionException | RequestTimeoutException | ServiceException e) { System.out.println(e); } } } |
Parent topic: Animated GIFs
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