POM.xml
媒体处理文档
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-mts</artifactId>
<version>2.5.2</version>
</dependency>
- 代码
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FileDto {
private String ossInputObject;
private String ossOutputObject;
}
@RestController
@Log4j2
public class TranscodeImpl {
@Autowired
private SysProperties sysProperties;
@ApiOperation("文件转码")
@RequestMapping(value = "/handle/transcode", method = RequestMethod.POST)
public RestResponse<Boolean> transcode(@RequestBody FileDto fileDto) throws Exception {
DefaultProfile profile = DefaultProfile.getProfile(
sysProperties.getMpsRegionId(),
sysProperties.getAccessKeyId(),
sysProperties.getAccessKeySecret());
IAcsClient client = new DefaultAcsClient(profile);
SubmitJobsRequest request = new SubmitJobsRequest();
JSONObject input = new JSONObject();
input.put("Location", "oss-cn-hangzhou");
input.put("Bucket", sysProperties.getBucketName());
input.put("Object", URLEncoder.encode(fileDto.getOssInputObject(), "utf-8"));
request.setInput(input.toJSONString());
String outputOssObject = URLEncoder.encode(fileDto.getOssOutputObject(), "utf-8");
JSONObject output = new JSONObject();
output.put("OutputObject", outputOssObject);
JSONObject container = new JSONObject();
container.put("Format", "m3u8");
output.put("Container", container.toJSONString());
output.put("TemplateId", sysProperties.getM3u8TemplateId());
JSONArray outputs = new JSONArray();
outputs.add(output);
request.setPipelineId(sysProperties.getM3u8PipelineId());
request.setOutputs(outputs.toJSONString());
request.setOutputBucket(sysProperties.getBucketName());
SubmitJobsResponse response = client.getAcsResponse(request);
log.info("RequestId is:" + response.getRequestId());
if (response.getJobResultList().get(0).getSuccess()) {
log.info("JobId is:" + response.getJobResultList().get(0).getJob().getJobId());
} else {
log.info("SubmitJobs Failed code:" + response.getJobResultList().get(0).getCode() +
" message:" + response.getJobResultList().get(0).getMessage());
}
return RestResponse.success(true);
}
}