Manage online editing projects
Updated at:
Sample code for managing online editing projects in Intelligent Media Services by calling OpenAPI operations through a server-side SDK.
Notes
The Title parameter is required when you create an online editing project. To submit a video editing job by calling the SubmitMediaProducingJob operation, you must also set the Timeline parameter.
Sample code
You can debug these operations online in the Alibaba Cloud OpenAPI Developer Portal.
package com.aliyun.ice.sample;
import com.aliyun.ice20201109.Client;
import com.aliyun.ice20201109.models.*;
import com.aliyun.teaopenapi.models.Config;
public class EditingProjectSample {
public static void main (String args[]) throws Exception {
// An AccessKey of an Alibaba Cloud account has access privileges for all APIs. Use a Resource Access Management (RAM) user for API calls or daily O&M.
// This example shows how to save the AccessKey ID and AccessKey secret as environment variables. For more information about how to configure them, see: https://help.aliyun.com/document_detail/378657.html
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
Config config = new Config();
config.setCredential(credentialClient);
// To hard-code the AccessKey ID and AccessKey secret, use the following code. However, we strongly recommend that you do not save your AccessKey ID and AccessKey secret in your project code. This can lead to an AccessKey leak and compromise the security of all resources in your account.
// config.accessKeyId = <yourAccessKeyId>;
// config.accessKeySecret = <yourAccessKeySecret>;
config.endpoint = "ice.cn-shanghai.aliyuncs.com";
Client client = new Client(config);
// Search for online editing projects
SearchEditingProjectRequest searchEditingProjectRequest = new SearchEditingProjectRequest();
SearchEditingProjectResponse searchEditingProjectResponse = client.searchEditingProject(searchEditingProjectRequest);
System.out.println("totle count : " + searchEditingProjectResponse.getBody().getTotalCount());
System.out.println("next token : " + searchEditingProjectResponse.getBody().getNextToken());
System.out.println("size : " + searchEditingProjectResponse.getBody().getProjectList().size());
if (searchEditingProjectResponse.getBody().getProjectList().size() > 0) {
System.out.println("projectid : " + searchEditingProjectResponse.getBody().getProjectList().get(0).getProjectId());
System.out.println("title : " + searchEditingProjectResponse.getBody().getProjectList().get(0).getTitle());
System.out.println("maxresult : " + searchEditingProjectResponse.getBody().getMaxResults());
}
// Create an online editing project
CreateEditingProjectRequest createEditingProjectRequest = new CreateEditingProjectRequest();
createEditingProjectRequest.setTitle("TestProjectName");
createEditingProjectRequest.setDescription("Test project description");
createEditingProjectRequest.setTimeline("{\"VideoTracks\":[{\"VideoTrackClips\":[{\"MediaId\":\"****9b4d7cf14dc7b83b0e801cbe****\"},{\"MediaId\":\"****9b4d7cf14dc7b83b0e801cbe****\"}]}]}");
createEditingProjectRequest.setCoverURL("http://xxxx/coverUrl.jpg");
CreateEditingProjectResponse createEditingProjectResponse = client.createEditingProject(createEditingProjectRequest);
String projectId = createEditingProjectResponse.getBody().getProject().getProjectId();
System.out.println("project id : " + projectId);
// Get a single online editing project
GetEditingProjectRequest getEditingProjectRequest = new GetEditingProjectRequest();
getEditingProjectRequest.setProjectId(projectId);
GetEditingProjectResponse getEditingProjectResponse = client.getEditingProject(getEditingProjectRequest);
GetEditingProjectResponseBody.GetEditingProjectResponseBodyProject project = getEditingProjectResponse.getBody().getProject();
System.out.println("project id : " + project.getProjectId());
// Update an online editing project
UpdateEditingProjectRequest updateEditingProjectRequest = new UpdateEditingProjectRequest();
updateEditingProjectRequest.setProjectId("11119b4d7cf14dc7b83b0e801cbe1ce6");
updateEditingProjectRequest.setTimeline("{\"VideoTracks\":[{\"VideoTrackClips\":[{\"MediaId\":\"****9b4d7cf14dc7b83b0e801cbe****\"},{\"MediaId\":\"****9b4d7cf14dc7b83b0e801cbe****\"}]}]}");
UpdateEditingProjectResponse updateEditingProjectResponse = client.updateEditingProject(updateEditingProjectRequest);
System.out.println("request id : " + updateEditingProjectResponse.getBody().getRequestId());
// Delete online editing projects
DeleteEditingProjectsRequest deleteEditingProjectsRequest = new DeleteEditingProjectsRequest();
deleteEditingProjectsRequest.setProjectIds("****9b4d7cf14dc7b83b0e801cbe****,****9b4d7cf14dc7b83b0e801cbe****");
DeleteEditingProjectsResponse deleteEditingProjectsResponse = client.deleteEditingProjects(deleteEditingProjectsRequest);
System.out.println("request id : " + deleteEditingProjectsResponse.getBody().getRequestId());
}
}
Related APIs
Is this page helpful?