本文为您提供了服务端 Java SDK 的媒体处理任务模块相关的 API 调用示例。主要包含:提交媒体处理任务、取消媒体处理任务、查询媒体处理任务等。
使用前请先完成初始化,参考 初始化。
接口请求参数和返回参数详见 OpenAPI:提交媒体处理任务。
示例一:根据工作流模板触发任务
package com.volcengine.example.imp.job; import com.volcengine.service.imp.IImpService; import com.volcengine.service.imp.impl.ImpServiceImpl; import com.volcengine.service.imp.model.request.*; import com.volcengine.service.imp.model.business.*; import com.volcengine.service.imp.model.response.*; public class ImpSubmitJobDemo { public static void main(String[] args) throws Exception { IImpService impService = ImpServiceImpl.getInstance(); // call below method if you don't set ak and sk impService.setAccessKey("your ak"); impService.setSecretKey("your sk"); try { InputPath.Builder input = InputPath.newBuilder(); input.setType("VOD"); input.setVodSpaceName("your space name"); input.setFileId("your file id"); ImpSubmitJobRequest.Builder submitJobRequest = ImpSubmitJobRequest.newBuilder(); submitJobRequest.setInputPath(input.build()); submitJobRequest.setTemplateId("your template id"); submitJobRequest.setCallbackArgs("your call back args"); submitJobRequest.setEnableLowPriority("false"); Params.Builder params = Params.newBuilder(); OverrideParams.Builder overrideParams = OverrideParams.newBuilder(); // SmartEraseOverrideParams SmartEraseOverrideParams.Builder smartEraseOverrideParams = SmartEraseOverrideParams.newBuilder(); Watermark.Builder watermark = Watermark.newBuilder(); DetectRect.Builder watermarkDetectRect = DetectRect.newBuilder(); watermarkDetectRect.setX1(0); watermarkDetectRect.setX2(1); watermarkDetectRect.setY1(0); watermarkDetectRect.setY2(1); watermark.addDetectRect(0, watermarkDetectRect.build()); OCR.Builder ocr = OCR.newBuilder(); DetectRect.Builder ocrDetectRect = DetectRect.newBuilder(); ocrDetectRect.setX1(0); ocrDetectRect.setX2(1); ocrDetectRect.setY1(0); ocrDetectRect.setY2(1); ocr.addDetectRect(0, ocrDetectRect.build()); smartEraseOverrideParams.addActivityId("*"); smartEraseOverrideParams.setWatermark(watermark.build()); smartEraseOverrideParams.setOCR(ocr.build()); overrideParams.addSmartErase(0, smartEraseOverrideParams.build()); // OutputOverrideParams OutputOverrideParams.Builder outputOverrideParams = OutputOverrideParams.newBuilder(); OutputPath.Builder outputPath = OutputPath.newBuilder(); outputPath.setType("your storage type"); outputPath.setVodSpaceName("your vod spaceName"); outputPath.setTosBucket("your tos bucketName"); outputPath.setFileName("output FileName"); outputOverrideParams.addActivityId("*"); outputOverrideParams.setOutputPath(outputPath.build()); overrideParams.addOutput(0, outputOverrideParams.build()); params.setOverrideParams(overrideParams.build()); submitJobRequest.setParams(params.build()); ImpSubmitJobResponse resp = impService.SubmitJob(submitJobRequest.build()); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
示例二:单任务触发
package com.volcengine.example.imp.job; import com.volcengine.service.imp.IImpService; import com.volcengine.service.imp.impl.ImpServiceImpl; import com.volcengine.service.imp.model.request.*; import com.volcengine.service.imp.model.business.*; import com.volcengine.service.imp.model.response.*; public class ImpSubmitJobDemo { // single job SubmitJob, TranscodeVideo as example public static void main(String[] args) throws Exception { IImpService impService = ImpServiceImpl.getInstance(); // call below method if you don't set ak and sk impService.setAccessKey("your ak"); impService.setSecretKey("your sk"); try { InputPath.Builder input = InputPath.newBuilder(); input.setType("VOD"); input.setVodSpaceName("your space name"); input.setFileId("your file id"); ImpSubmitJobRequest.Builder submitJobRequest = ImpSubmitJobRequest.newBuilder(); submitJobRequest.setInputPath(input.build()); submitJobRequest.setCallbackArgs("your call back args"); submitJobRequest.setEnableLowPriority("false"); Job.Builder job = Job.newBuilder(); TranscodeVideoJob.Builder transcodeVideoJob = TranscodeVideoJob.newBuilder(); Video.Builder video = Video.newBuilder(); video.setCodec("h264"); video.setBitrate(4000); Audio.Builder audio = Audio.newBuilder(); audio.setCodec("aac"); audio.setBitrate(128); audio.setChannels(2); transcodeVideoJob.setContainer("MP4"); transcodeVideoJob.setVideo(video.build()); transcodeVideoJob.setAudio(audio.build()); job.setTranscodeVideo(transcodeVideoJob.build()); submitJobRequest.setJob(job.build()); ImpSubmitJobResponse resp = impService.SubmitJob(submitJobRequest.build()); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
接口请求参数和返回参数详见 OpenAPI:取消媒体处理任务。
package com.volcengine.example.imp.job; import com.volcengine.service.imp.IImpService; import com.volcengine.service.imp.impl.ImpServiceImpl; import com.volcengine.service.imp.model.request.*; import com.volcengine.service.imp.model.response.*; public class ImpKillJobDemo { public static void main(String[] args) throws Exception { IImpService impService = ImpServiceImpl.getInstance(); // call below method if you don't set ak and sk impService.setAccessKey("your ak"); impService.setSecretKey("your sk"); try { ImpKillJobRequest.Builder killJobRequest = ImpKillJobRequest.newBuilder(); killJobRequest.setJobId("your job id"); ImpKillJobResponse resp = impService.KillJob(killJobRequest.build()); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
接口请求参数和返回参数详见 OpenAPI:查询媒体处理任务。
package com.volcengine.example.imp.job; import com.volcengine.service.imp.IImpService; import com.volcengine.service.imp.impl.ImpServiceImpl; import com.volcengine.service.imp.model.request.*; import com.volcengine.service.imp.model.response.*; public class ImpRetrieveJobDemo { public static void main(String[] args) throws Exception { IImpService impService = ImpServiceImpl.getInstance(); // call below method if you don't set ak and sk impService.setAccessKey("your ak"); impService.setSecretKey("your sk"); try { ImpRetrieveJobRequest.Builder retrieveJobRequest = ImpRetrieveJobRequest.newBuilder(); retrieveJobRequest.addJobIds("your job id 1"); retrieveJobRequest.addJobIds("your job id 2"); ImpRetrieveJobResponse resp = impService.RetrieveJob(retrieveJobRequest.build()); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }