Esta página ainda não está disponível no idioma selecionado. Estamos trabalhando para adicionar mais opções de idiomas. Agradecemos sua compreensão.
Media Processing Center
Media Processing Center
- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
- User Guide
-
Best Practices
- Using MPC to Transcode Media Files in OBS
- H.264 and H.265 Low-bitrate HD Creates an Amazing Experience for Video Websites
- Snapshot Capturing Facilitates the Setup of Media Processing Platform for Your Video Website
- Video Packaging Enables the Playback of Online Education Videos on Multiple Terminal Types
- Change History
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Application Examples
- Transcoding Template APIs
- Transcoding Template Group APIs
- Watermark Template APIs
- Transcoding APIs
- Packaging APIs
- Animated GIF APIs
- Video Metadata Extraction APIs
- Snapshot APIs
-
Authorization and Configuration APIs
- Configuring Transcoding Server Event Notifications
- Querying Transcoding Server Event Notifications
- Querying All Events on a Transcoding Server
- Querying Buckets
- Authorizing or Canceling Authorization of Access to OBS Buckets
- Querying Objects in a Bucket
- Requesting OBS Authorization
- Querying the Status of OBS Authorization Task Creation
- Tenant Subscription
- Appendix
- Change History
- SDK Reference
-
FAQs
- Product Consulting
- Billing
- Upload
-
Transcoding
- Files of What Formats Can Be Transcoded?
- What If Transcoding Fails?
- Can a Transcoding Task Have Multiple Outputs?
- What Is a System Template? What Is It Used for?
- How Do I Download Output Videos?
- What Are the Differences Between DASH, HLS, and MP4 Videos?
- How Do I Share Transcoded Videos?
- How Do I Determine Whether Source Videos Can Be Transcoded to SD, HD, and UHD Videos?
- Why Is There Only Audio but No Image After Video Transcoding?
- Why Can't I Find My OBS Bucket When Creating a Transcoding Task?
- How Do I Overwrite the Input Video File with the Output Video File?
- How Long Does a Transcoding Task Take?
- How Do I Configure Transcoding Event Notifications?
- Can a Low-resolution Video Be Transcoded to a High-resolution One?
- Can I Set the Same Bucket Name and Path for Both Input and Output Buckets During Transcoding?
- Notifications
- Packaging/GIF Converting
- Frame Capture
- Video Watermark
-
API and SDK Usage
- Can I Deliver Transcoding Tasks in Batches?
- How Long Does a Task Take from Submission to Execution?
- Failed to Transcode MP3 Files and A Message Is Displayed Indicating that the Source Width and Height Are Incorrect
- Why Is "The token must be updated" Returned When I Call an API?
- Why Is a Message Displayed Indicating that the Token Is Invalid When I Call an API?
- What Can I Do If an Error Message Is Displayed Indicating that the Input or Output OBS Path Is Invalid When I Use the SDK or API?
- Does MPC Support Video Rotation?
- How Do I Call a Transcoding API to Specify an Output File Name?
- Why Can't I Cancel the Authorization After the IAM User Delegates the Read and Write Permissions on OBS Buckets?
- Videos
- General Reference
On this page
Show all
Help Center/
Media Processing Center/
SDK Reference/
Java SDK/
Animated GIFs/
Creating an Animated GIF Task
Copied.
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