Skip to content

Commit 0ed517a

Browse files
author
markjrzhang
committed
update LiveTranscodeDemo
1 parent 780a517 commit 0ed517a

File tree

3 files changed

+28
-70
lines changed

3 files changed

+28
-70
lines changed

src/main/java/com/qcloud/cos/COSClient.java

Lines changed: 15 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,6 @@
102102
import com.qcloud.cos.model.ciModel.job.v2.*;
103103
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoRequest;
104104
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoResponse;
105-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetRequest;
106-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetResponse;
107105
import com.qcloud.cos.model.ciModel.persistence.AIGameRecResponse;
108106
import com.qcloud.cos.model.ciModel.persistence.CIUploadResult;
109107
import com.qcloud.cos.model.ciModel.persistence.AIRecRequest;
@@ -141,7 +139,14 @@
141139
import com.qcloud.cos.model.transform.ObjectTaggingXmlFactory;
142140
import com.qcloud.cos.region.Region;
143141
import com.qcloud.cos.retry.RetryUtils;
144-
import com.qcloud.cos.utils.*;
142+
import com.qcloud.cos.utils.Base64;
143+
import com.qcloud.cos.utils.BinaryUtils;
144+
import com.qcloud.cos.utils.DateUtils;
145+
import com.qcloud.cos.utils.Jackson;
146+
import com.qcloud.cos.utils.Md5Utils;
147+
import com.qcloud.cos.utils.ServiceUtils;
148+
import com.qcloud.cos.utils.StringUtils;
149+
import com.qcloud.cos.utils.UrlEncoderUtils;
145150
import com.qcloud.cos.http.TimeOutCosHttpClient;
146151

147152
import org.apache.commons.codec.DecoderException;
@@ -4350,39 +4355,13 @@ private void putIfNotNull(HashMap<String, String> map, String key, String value)
43504355
}
43514356
}
43524357

4353-
// private void checkAuditingRequest(ImageAuditingRequest request) {
4354-
// rejectNull(request.getDetectType(), "The detectType parameter must be specified setting the object tags");
4355-
// rejectNull(request.getObjectKey(), "The objectKey parameter must be specified setting the object tags");
4356-
// }
4357-
//
4358-
// private void checkWorkflowParameter(MediaWorkflowRequest request) {
4359-
// rejectNull(request.getName(),
4360-
// "The name parameter must be specified setting the object tags");
4361-
// rejectNull(request.getTopology(),
4362-
// "The topology parameter must be specified setting the object tags");
4363-
// rejectEmpty(request.getTopology().getMediaWorkflowNodes(),
4364-
// "The Nodes parameter must be specified setting the object tags");
4365-
// rejectEmpty(request.getTopology().getMediaWorkflowDependency(),
4366-
// "The Dependency parameter must be specified setting the object tags");
4367-
// }
4368-
43694358
private void checkCIRequestCommon(CIServiceRequest request) {
43704359
rejectNull(request,
43714360
"The request parameter must be specified setting the object tags");
43724361
rejectNull(request.getBucketName(),
43734362
"The bucketName parameter must be specified setting the object tags");
43744363
}
43754364

4376-
// private void checkRequestOutput(MediaOutputObject output) {
4377-
// rejectNull(output.getBucket(),
4378-
// "The output.bucket parameter must be specified setting the object tags");
4379-
// rejectNull(output.getRegion(),
4380-
// "The output.region parameter must be specified setting the object tags");
4381-
// rejectNull(output.getObject(),
4382-
// "The output.object parameter must be specified setting the object tags");
4383-
// }
4384-
4385-
43864365
private void checkMediaListJobResponse(MediaListJobResponse response) {
43874366
List<MediaJobObject> jobsDetailList = response.getJobsDetailList();
43884367
if (jobsDetailList.size() == 1) {
@@ -5097,6 +5076,7 @@ public GetHLSPlayKeyResponse getHLSPlayKey(GetHLSPlayKeyRequest customRequest) {
50975076

50985077
CosHttpRequest<GetHLSPlayKeyRequest> request = createRequest(customRequest.getBucketName(), "/playKey", customRequest , HttpMethodName.GET);
50995078

5079+
51005080
return invoke(request, new Unmarshallers.CICommonUnmarshaller<GetHLSPlayKeyResponse>(GetHLSPlayKeyResponse.class));
51015081
}
51025082

@@ -5126,25 +5106,12 @@ public MediaListTemplateResponse describeMediaTemplatesV2(MediaTemplateRequest r
51265106

51275107
@Override
51285108
public InputStream getPlayList(GetPlayListRequest getPlayListRequest) {
5129-
CosHttpRequest<GetPlayListRequest> request = createRequest(getPlayListRequest.getBucketName(), getPlayListRequest.getObject(), getPlayListRequest, HttpMethodName.GET);
5130-
request.addParameter("ci-process","pm3u8");
5109+
CosHttpRequest<GetPlayListRequest> request = createRequest(getPlayListRequest.getBucketName(), "/getplaylist", getPlayListRequest, HttpMethodName.GET);
51315110
addParameterIfNotNull(request, "object", getPlayListRequest.getObject());
51325111
addParameterIfNotNull(request, "expires", getPlayListRequest.getExpires());
5133-
addParameterIfNotNull(request, "tokenType", getPlayListRequest.getTokenType());
5134-
addParameterIfNotNull(request, "token", getPlayListRequest.getToken());
51355112

51365113
return invoke(request, new CIGetSnapshotResponseHandler());
51375114
}
5138-
//@Override
5139-
// public InputStream getPlayList(GetPlayListRequest getPlayListRequest) {
5140-
// CosHttpRequest<GetPlayListRequest> request = createRequest(getPlayListRequest.getBucketName(), "/getplaylist", getPlayListRequest, HttpMethodName.GET);
5141-
// addParameterIfNotNull(request, "object", getPlayListRequest.getObject());
5142-
// addParameterIfNotNull(request, "expires", getPlayListRequest.getExpires());
5143-
// addParameterIfNotNull(request, "tokenType", getPlayListRequest.getTokenType());
5144-
// addParameterIfNotNull(request, "token", getPlayListRequest.getToken());
5145-
//
5146-
// return invoke(request, new CIGetSnapshotResponseHandler());
5147-
// }
51485115

51495116
@Override
51505117
public RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest) {
@@ -5156,34 +5123,21 @@ public RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest) {
51565123
return invoke(request, new Unmarshallers.CICommonUnmarshaller<RecognizeLogoResponse>(RecognizeLogoResponse.class));
51575124
}
51585125

5159-
@Override
5160-
public CreateDatasetResponse createDataset(CreateDatasetRequest customRequest) {
5161-
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5162-
5163-
CosHttpRequest<CreateDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.POST);
5164-
request.addHeader("Accept", "application/json");
5165-
this.setContent(request, CIJackson.toJsonString(request).getBytes(), "application/json", false);
5166-
return invoke(request, new Unmarshallers.CICommonUnmarshaller<CreateDatasetResponse>(CreateDatasetResponse.class));
5167-
}
5168-
51695126

51705127
public String generateCosDomainPrivateM3U8Url(PrivateM3U8Request privateM3U8Request) {
51715128
CosHttpRequest<PrivateM3U8Request> request = createRequest(privateM3U8Request.getBucketName(), privateM3U8Request.getObject(), privateM3U8Request, HttpMethodName.GET);
51725129
request.addParameter("ci-process","pm3u8");
5173-
addParameterIfNotNull(request, "object", privateM3U8Request.getObject());
5174-
addParameterIfNotNull(request, "expires", privateM3U8Request.getExpires());
5175-
addParameterIfNotNull(request, "tokenType", privateM3U8Request.getTokenType());
5176-
addParameterIfNotNull(request, "token", privateM3U8Request.getToken());
5177-
5178-
return buildPrivateM3U8Url(request,clientConfig);
5130+
addParameterIfNotNull(request,"expires",privateM3U8Request.getExpires());
5131+
addParameterIfNotNull(request,"tokenType",privateM3U8Request.getTokenType());
5132+
addParameterIfNotNull(request,"token",privateM3U8Request.getToken());
5133+
return buildPrivateM3U8Url(request);
51795134
}
51805135

5181-
private String buildPrivateM3U8Url(CosHttpRequest<PrivateM3U8Request> request, ClientConfig clientConfig) {
5136+
private String buildPrivateM3U8Url(CosHttpRequest<PrivateM3U8Request> request) {
51825137
Date expiredTime = new Date(System.currentTimeMillis() + clientConfig.getSignExpired() * 1000);
51835138
HashMap<String, String> params = new HashMap<>();
51845139
params.put("ci-process", "pm3u8");
51855140
PrivateM3U8Request originalRequest = request.getOriginalRequest();
5186-
putIfNotNull(params, "object", originalRequest.getObject());
51875141
putIfNotNull(params, "expires", originalRequest.getExpires());
51885142
putIfNotNull(params, "tokenType", originalRequest.getTokenType());
51895143
putIfNotNull(params, "token", originalRequest.getToken());

src/main/java/com/qcloud/cos/demo/ci/LiveTranscodeDemo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
public class LiveTranscodeDemo {
1616
private static String appId = "1251704708";
1717
private static String bucket = "markjrzhang-1251704708";
18-
private static String objectKey = "output/media/test.m3u8";
18+
private static String objectKey = "test.m3u8";
1919
private static String expires = "3600";
20-
private static byte[] secret = "ui0KZSbUbhApT2OjF1BNiU04FvqloQEL".getBytes();
20+
private static byte[] secret = "YourSecret".getBytes();
2121

2222

2323
public static void main(String[] args) {
@@ -31,8 +31,9 @@ public static String generateCosDomainPrivateM3U8Url(COSClient client) {
3131
request.setBucketName(bucket);
3232
request.setObject(objectKey);
3333
request.setExpires(expires);
34+
request.setTokenType("JwtToken");
3435
String token =generateToken(appId, bucket, objectKey, secret,expires);
35-
request.setTokenType(token);
36+
request.setToken(token);
3637
return client.generateCosDomainPrivateM3U8Url(request);
3738
}
3839

src/main/java/com/qcloud/cos/model/ciModel/xml/CIMediaXmlFactory.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ private static void addBatchCommonParams(XmlWriter xml, BatchJobRequest request)
114114
* 模板任务xml转换
115115
*/
116116
public static byte[] convertToXmlByteArray(MediaTemplateRequest request) {
117-
if ("Concat".equalsIgnoreCase(request.getTag())){
117+
if ("Concat".equalsIgnoreCase(request.getTag())) {
118118
return CIAuditingXmlFactoryV2.convertToXmlByteArray(request);
119119
}
120120
XmlWriter xml = new XmlWriter();
@@ -141,7 +141,7 @@ public static byte[] convertToXmlByteArray(MediaTemplateRequest request) {
141141
addIfNotNull(xml, "LocMode", request.getWatermark().getLocMode());
142142
addIfNotNull(xml, "Pos", request.getWatermark().getPos());
143143
addIfNotNull(xml, "StartTime", request.getWatermark().getStartTime());
144-
addSlideConfig(xml,request.getWatermark().getSlideConfig());
144+
addSlideConfig(xml, request.getWatermark().getSlideConfig());
145145
if ("Text".equalsIgnoreCase(request.getWatermark().getType())) {
146146
xml.start("Text");
147147
MediaWaterMarkText text = request.getWatermark().getText();
@@ -239,7 +239,7 @@ private static void addOperation(XmlWriter xml, MediaJobsRequest request) {
239239
addVideoEnhance(xml, operation.getVideoEnhance());
240240
addSubtitles(xml, operation.getSubtitles());
241241
addVideoTag(xml, operation.getVideoTag());
242-
addQualityEstimateConfig(xml,operation.getQualityEstimateConfig());
242+
addQualityEstimateConfig(xml, operation.getQualityEstimateConfig());
243243
xml.end();
244244
}
245245

@@ -501,8 +501,8 @@ private static void addConcat(XmlWriter xml, MediaConcatTemplateObject mediaConc
501501
addIfNotNull(xml, "DirectConcat", mediaConcatTemplate.getDirectConcat());
502502
addContainer(xml, mediaConcatTemplate.getContainer());
503503
addAudioMix(xml, mediaConcatTemplate.getAudioMix(), "AudioMix");
504-
addAudioMixArray(xml,mediaConcatTemplate.getAudioMixArray());
505-
addSceneChangeInfo(xml,mediaConcatTemplate.getSceneChangeInfo());
504+
addAudioMixArray(xml, mediaConcatTemplate.getAudioMixArray());
505+
addSceneChangeInfo(xml, mediaConcatTemplate.getSceneChangeInfo());
506506
xml.end();
507507
}
508508
}
@@ -795,7 +795,7 @@ private static void addWatermar(XmlWriter xml, MediaWatermark watermark) {
795795
addIfNotNull(xml, "LocMode", watermark.getLocMode());
796796
addIfNotNull(xml, "Pos", watermark.getPos());
797797
addIfNotNull(xml, "StartTime", watermark.getStartTime());
798-
addSlideConfig(xml,watermark.getSlideConfig());
798+
addSlideConfig(xml, watermark.getSlideConfig());
799799
if ("Text".equalsIgnoreCase(watermark.getType())) {
800800
MediaWaterMarkText text = watermark.getText();
801801
xml.start("Text");
@@ -864,6 +864,9 @@ private static boolean isEmpty(Object object) {
864864

865865

866866
public static Boolean objIsNotValid(Object obj) {
867+
if (obj == null) {
868+
return false;
869+
}
867870
//查询出对象所有的属性
868871
Field[] fields = obj.getClass().getDeclaredFields();
869872
//用于判断所有属性是否为空,如果参数为空则不查询

0 commit comments

Comments
 (0)