Skip to content

Commit e7a5028

Browse files
author
markjrzhang
committed
add LiveTranscodeDemo
1 parent c1295ce commit e7a5028

File tree

7 files changed

+293
-1
lines changed

7 files changed

+293
-1
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.qcloud</groupId>
66
<artifactId>cos_api</artifactId>
7-
<version>5.6.215</version>
7+
<version>5.6.217</version>
88
<packaging>jar</packaging>
99
<name>cos-java-sdk</name>
1010
<description>java sdk for qcloud cos</description>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@
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;
105107
import com.qcloud.cos.model.ciModel.persistence.AIGameRecResponse;
106108
import com.qcloud.cos.model.ciModel.persistence.CIUploadResult;
107109
import com.qcloud.cos.model.ciModel.persistence.AIRecRequest;
@@ -5123,6 +5125,11 @@ public RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest) {
51235125
return invoke(request, new Unmarshallers.CICommonUnmarshaller<RecognizeLogoResponse>(RecognizeLogoResponse.class));
51245126
}
51255127

5128+
@Override
5129+
public CreateDatasetResponse createDataset(CreateDatasetRequest customRequest) {
5130+
return null;
5131+
}
5132+
51265133

51275134
public String generateCosDomainPrivateM3U8Url(PrivateM3U8Request privateM3U8Request) {
51285135
CosHttpRequest<PrivateM3U8Request> request = createRequest(privateM3U8Request.getBucketName(), privateM3U8Request.getObject(), privateM3U8Request, HttpMethodName.GET);
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.qcloud.cos.demo.ci;
2+
3+
import com.qcloud.cos.COSClient;
4+
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetRequest;
5+
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetResponse;
6+
import com.qcloud.cos.utils.CIJackson;
7+
8+
/**
9+
* 创建数据集 详情见https://cloud.tencent.com/document/product/460/106020
10+
*/
11+
public class CreateDatasetDemo {
12+
13+
public static void main(String[] args) {
14+
// 1 初始化用户身份信息(secretId, secretKey)。
15+
COSClient client = ClientUtils.getTestClient();
16+
// 2 调用要使用的方法。
17+
createDataset(client);
18+
}
19+
20+
/**
21+
* createDataset 本接口用于创建一个数据集(Dataset),数据集是由文件元数据构成的集合,用于存储和管理元数据。
22+
* 该接口属于 POST 请求。
23+
*/
24+
public static void createDataset(COSClient client) {
25+
CreateDatasetRequest request = new CreateDatasetRequest();
26+
request.setAppId("1251704708");
27+
// 设置数据集名称,同一个账户下唯一。命名规则如下: 长度为1~32字符。 只能包含小写英文字母,数字,短划线(-)。 必须以英文字母和数字开头。;是否必传:是
28+
request.setDatasetName("mark");
29+
// 设置数据集描述信息。长度为1~256个英文或中文字符,默认值为空。;是否必传:否
30+
request.setDescription("test");
31+
// 设置指模板,在建立元数据索引时,后端将根据模板来决定收集哪些元数据。
32+
// 每个模板都包含一个或多个算子,不同的算子表示不同的元数据。
33+
// 目前支持的模板: Official:DefaultEmptyId:默认为空的模板,表示不进行元数据的采集。
34+
// Official:COSBasicMeta:基础信息模板,包含 COS 文件基础元信息算子,表示采集 COS 文件的名称、类型、ACL等基础元信息数据。
35+
// Official:FaceSearch:人脸检索模板,包含人脸检索、COS 文件基础元信息算子。
36+
// Official:ImageSearch:图像检索模板,包含图像检索、COS 文件基础元信息算子。
37+
request.setTemplateId("Official:COSBasicMeta");
38+
System.out.println(CIJackson.toJsonString(request));
39+
CreateDatasetResponse response = client.createDataset(request);
40+
}
41+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.qcloud.cos.model.ciModel.metaInsight;
2+
3+
import com.qcloud.cos.internal.CIServiceRequest;
4+
5+
6+
public class CreateDatasetRequest extends CIServiceRequest {
7+
8+
/**
9+
*数据集名称,同一个账户下唯一。命名规则如下: 长度为1~32字符。 只能包含小写英文字母,数字,短划线(-)。 必须以英文字母和数字开头。;是否必传:是
10+
*/
11+
private String datasetName;
12+
13+
/**
14+
*数据集描述信息。长度为1~256个英文或中文字符,默认值为空。;是否必传:否
15+
*/
16+
private String description;
17+
18+
/**
19+
*指模板,在建立元数据索引时,后端将根据模板来决定收集哪些元数据。每个模板都包含一个或多个算子,不同的算子表示不同的元数据。目前支持的模板: Official:DefaultEmptyId:默认为空的模板,表示不进行元数据的采集。 Official:COSBasicMeta:基础信息模板,包含 COS 文件基础元信息算子,表示采集 COS 文件的名称、类型、ACL等基础元信息数据。 Official:FaceSearch:人脸检索模板,包含人脸检索、COS 文件基础元信息算子。Official:ImageSearch:图像检索模板,包含图像检索、COS 文件基础元信息算子。;是否必传:否
20+
*/
21+
private String templateId;
22+
23+
public String getDatasetName() { return datasetName; }
24+
25+
public void setDatasetName(String datasetName) { this.datasetName = datasetName; }
26+
27+
public String getDescription() { return description; }
28+
29+
public void setDescription(String description) { this.description = description; }
30+
31+
public String getTemplateId() { return templateId; }
32+
33+
public void setTemplateId(String templateId) { this.templateId = templateId; }
34+
35+
36+
37+
38+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.qcloud.cos.model.ciModel.metaInsight;
2+
3+
import com.qcloud.cos.model.CiServiceResult;
4+
5+
6+
public class CreateDatasetResponse extends CiServiceResult {
7+
8+
/**
9+
*请求ID
10+
*/
11+
private String requestId;
12+
13+
/**
14+
*数据集信息
15+
*/
16+
private Dataset dataset;
17+
18+
public String getRequestId() { return requestId; }
19+
20+
public void setRequestId(String requestId) { this.requestId = requestId; }
21+
22+
public Dataset getDataset() { return dataset; }
23+
24+
public void setDataset(Dataset dataset) { this.dataset = dataset; }
25+
26+
27+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package com.qcloud.cos.model.ciModel.metaInsight;
2+
3+
import com.thoughtworks.xstream.annotations.XStreamAlias;
4+
5+
@XStreamAlias("Dataset")
6+
public class Dataset {
7+
8+
/**
9+
* 模板ID。
10+
*/
11+
@XStreamAlias("TemplateId")
12+
private String templateId;
13+
14+
/**
15+
* 数据集描述信息
16+
*/
17+
@XStreamAlias("Description")
18+
private String description;
19+
20+
/**
21+
* 数据集创建时间的时间戳,格式为RFC3339Nano
22+
*/
23+
@XStreamAlias("CreateTime")
24+
private String createTime;
25+
26+
/**
27+
* 数据集修改时间的时间戳,格式为RFC3339Nano创建数据集后,如果未更新过数据集,则数据集修改时间的时间戳和数据集创建时间的时间戳相同
28+
*/
29+
@XStreamAlias("UpdateTime")
30+
private String updateTime;
31+
32+
/**
33+
* 数据集当前绑定的COS Bucket数量
34+
*/
35+
@XStreamAlias("BindCount")
36+
private Integer bindCount;
37+
38+
/**
39+
* 数据集当前文件数量
40+
*/
41+
@XStreamAlias("FileCount")
42+
private Integer fileCount;
43+
44+
/**
45+
* 数据集中当前文件总大小,单位为字节
46+
*/
47+
@XStreamAlias("TotalFileSize")
48+
private Integer totalFileSize;
49+
50+
/**
51+
*数据集名称
52+
*/
53+
@XStreamAlias("DatasetName")
54+
private String datasetName;
55+
56+
public String getTemplateId() { return templateId; }
57+
58+
public void setTemplateId(String templateId) { this.templateId = templateId; }
59+
60+
public String getDescription() { return description; }
61+
62+
public void setDescription(String description) { this.description = description; }
63+
64+
public String getCreateTime() { return createTime; }
65+
66+
public void setCreateTime(String createTime) { this.createTime = createTime; }
67+
68+
public String getUpdateTime() { return updateTime; }
69+
70+
public void setUpdateTime(String updateTime) { this.updateTime = updateTime; }
71+
72+
public Integer getBindCount() { return bindCount; }
73+
74+
public void setBindCount(Integer bindCount) { this.bindCount = bindCount; }
75+
76+
public Integer getFileCount() { return fileCount; }
77+
78+
public void setFileCount(Integer fileCount) { this.fileCount = fileCount; }
79+
80+
public Integer getTotalFileSize() { return totalFileSize; }
81+
82+
public void setTotalFileSize(Integer totalFileSize) { this.totalFileSize = totalFileSize; }
83+
84+
public String getDatasetName() { return datasetName; }
85+
86+
public void setDatasetName(String datasetName) { this.datasetName = datasetName; }
87+
88+
89+
90+
}
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*
2+
* Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
15+
* According to cos feature, we modify some class,comment, field name, etc.
16+
*/
17+
18+
19+
package com.qcloud.cos.utils;
20+
21+
import com.fasterxml.jackson.core.JsonFactory;
22+
import com.fasterxml.jackson.core.JsonGenerator;
23+
import com.fasterxml.jackson.core.JsonParser;
24+
import com.fasterxml.jackson.databind.*;
25+
import com.fasterxml.jackson.databind.ser.FilterProvider;
26+
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
27+
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
28+
import com.qcloud.cos.exception.CosClientException;
29+
import org.slf4j.Logger;
30+
import org.slf4j.LoggerFactory;
31+
32+
import java.io.IOException;
33+
import java.io.Writer;
34+
35+
public enum CIJackson {
36+
;
37+
private static final Logger LOG = LoggerFactory.getLogger(CIJackson.class);
38+
39+
private static final ObjectMapper objectMapper = new ObjectMapper();
40+
41+
static {
42+
objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
43+
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
44+
objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
45+
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.PASCAL_CASE_TO_CAMEL_CASE);
46+
SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.serializeAllExcept();
47+
FilterProvider filters = new SimpleFilterProvider().addFilter("CosServiceFilter", filter);
48+
objectMapper.setFilterProvider(filters);
49+
}
50+
51+
private static final ObjectWriter writer = objectMapper.writer();
52+
private static final ObjectWriter prettyWriter = objectMapper.writerWithDefaultPrettyPrinter();
53+
54+
public static String toJsonPrettyString(Object value) {
55+
try {
56+
return prettyWriter.writeValueAsString(value);
57+
} catch (Exception e) {
58+
throw new IllegalStateException(e);
59+
}
60+
}
61+
62+
public static String toJsonString(Object value) {
63+
try {
64+
return writer.writeValueAsString(value);
65+
} catch (Exception e) {
66+
throw new IllegalStateException(e);
67+
}
68+
}
69+
70+
public static <T> T fromJsonString(String json, Class<T> clazz) {
71+
if (json == null)
72+
return null;
73+
try {
74+
return objectMapper.readValue(json, clazz);
75+
} catch (Exception e) {
76+
throw new CosClientException("Unable to parse Json String.", e);
77+
}
78+
}
79+
80+
public static JsonNode jsonNodeOf(String json) {
81+
return fromJsonString(json, JsonNode.class);
82+
}
83+
84+
public static JsonGenerator jsonGeneratorOf(Writer writer) throws IOException {
85+
return new JsonFactory().createGenerator(writer);
86+
}
87+
88+
}
89+

0 commit comments

Comments
 (0)