use of com.mizhousoft.cloudsdk.CloudSDKException in project cloud-sdk by mizhousoft.
the class QCloudVODServiceImpl method modifyCover.
/**
* {@inheritDoc}
*/
@Override
public String modifyCover(String fileId, String base64Data) throws CloudSDKException {
try {
ModifyMediaInfoRequest req = new ModifyMediaInfoRequest();
req.setCoverData(base64Data);
req.setFileId(fileId);
ModifyMediaInfoResponse resp = vodClient.ModifyMediaInfo(req);
if (StringUtils.isBlank(resp.getCoverUrl())) {
throw new CloudSDKException("Modify cover failed, response: " + ModifyMediaInfoResponse.toJsonString(resp));
}
return resp.getCoverUrl();
} catch (TencentCloudSDKException e) {
throw new CloudSDKException(e.getErrorCode(), e.getMessage(), e);
}
}
use of com.mizhousoft.cloudsdk.CloudSDKException in project cloud-sdk by mizhousoft.
the class QCloudVODServiceImpl method confirmEvents.
/**
* {@inheritDoc}
*/
@Override
public void confirmEvents(String[] eventIds) throws CloudSDKException {
try {
ConfirmEventsRequest req = new ConfirmEventsRequest();
req.setEventHandles(eventIds);
vodClient.ConfirmEvents(req);
} catch (TencentCloudSDKException e) {
throw new CloudSDKException(e.getErrorCode(), e.getMessage(), e);
}
}
use of com.mizhousoft.cloudsdk.CloudSDKException in project cloud-sdk by mizhousoft.
the class QCloudVODServiceImpl method snapshotCover.
/**
* {@inheritDoc}
*/
@Override
public String snapshotCover(String fileId, long screenshotTmplId, float timePosition) throws CloudSDKException {
try {
ProcessMediaRequest req = new ProcessMediaRequest();
MediaProcessTaskInput mediaProcessTaskInput = new MediaProcessTaskInput();
CoverBySnapshotTaskInput[] coverBySnapshotTaskInputs = new CoverBySnapshotTaskInput[1];
CoverBySnapshotTaskInput coverBySnapshotTaskInput = new CoverBySnapshotTaskInput();
coverBySnapshotTaskInput.setDefinition(screenshotTmplId);
coverBySnapshotTaskInput.setPositionType("Time");
coverBySnapshotTaskInput.setPositionValue(timePosition);
coverBySnapshotTaskInputs[0] = coverBySnapshotTaskInput;
mediaProcessTaskInput.setCoverBySnapshotTaskSet(coverBySnapshotTaskInputs);
req.setMediaProcessTask(mediaProcessTaskInput);
req.setFileId(fileId);
ProcessMediaResponse resp = vodClient.ProcessMedia(req);
if (StringUtils.isBlank(resp.getTaskId())) {
throw new CloudSDKException("Snapshot cover failed, response: " + ProcessMediaResponse.toJsonString(resp));
}
return resp.getTaskId();
} catch (TencentCloudSDKException e) {
throw new CloudSDKException(e.getErrorCode(), e.getMessage(), e);
}
}
use of com.mizhousoft.cloudsdk.CloudSDKException in project cloud-sdk by mizhousoft.
the class QCloudVODServiceImpl method uploadVideo.
/**
* {@inheritDoc}
*/
@Override
public String uploadVideo(File mediaFile, File coverFile) throws CloudSDKException {
MediaTypeEnum mediaType = getMediaType(mediaFile);
CoverTypeEnum coverType = getCoverType(coverFile);
COSObjectStorageServiceImpl objectStorageService = null;
String bucket = null;
String coverObjectName = null;
String mediaObjectName = null;
try {
ApplyUploadRequest req = new ApplyUploadRequest();
req.setMediaType(mediaType.getValue());
req.setCoverType(coverType.getValue());
ApplyUploadResponse applyResponse = vodClient.ApplyUpload(req);
COSProfile config = new COSProfile();
config.setAccessKey(applyResponse.getTempCertificate().getSecretId());
config.setSecretKey(applyResponse.getTempCertificate().getSecretKey());
config.setSessionToken(applyResponse.getTempCertificate().getToken());
config.setRegion(applyResponse.getStorageRegion());
objectStorageService = new COSObjectStorageServiceImpl();
objectStorageService.init(config);
bucket = applyResponse.getStorageBucket();
objectStorageService.putObject(bucket, applyResponse.getCoverStoragePath(), coverFile);
coverObjectName = applyResponse.getCoverStoragePath();
objectStorageService.putObject(bucket, applyResponse.getMediaStoragePath(), mediaFile);
mediaObjectName = applyResponse.getMediaStoragePath();
CommitUploadRequest commitRequest = new CommitUploadRequest();
commitRequest.setVodSessionKey(applyResponse.getVodSessionKey());
CommitUploadResponse commitResponse = vodClient.CommitUpload(commitRequest);
// 上传成功后要置为NULL
coverObjectName = null;
mediaObjectName = null;
return commitResponse.getFileId();
} catch (TencentCloudSDKException e) {
throw new CloudSDKException(e.getErrorCode(), e.getMessage(), e);
} finally {
cleanUploadFailedFile(bucket, coverObjectName, objectStorageService);
cleanUploadFailedFile(bucket, mediaObjectName, objectStorageService);
if (null != objectStorageService) {
objectStorageService.destory();
}
}
}
use of com.mizhousoft.cloudsdk.CloudSDKException in project cloud-sdk by mizhousoft.
the class QCloudVODServiceImpl method getVideoMeta.
/**
* {@inheritDoc}
*/
@Override
public MediaMeta getVideoMeta(String fileId) throws CloudSDKException {
try {
String[] fileIds = { fileId };
DescribeMediaInfosRequest req = new DescribeMediaInfosRequest();
req.setFileIds(fileIds);
DescribeMediaInfosResponse resp = vodClient.DescribeMediaInfos(req);
MediaInfo[] mediaInfos = resp.getMediaInfoSet();
if (null != mediaInfos && 1 == mediaInfos.length) {
MediaInfo mediaInfo = mediaInfos[0];
MediaMeta meta = buildMediaMeta(fileId, mediaInfo.getBasicInfo(), mediaInfo.getMetaData(), mediaInfo.getTranscodeInfo());
return meta;
} else {
return null;
}
} catch (TencentCloudSDKException e) {
throw new CloudSDKException(e.getErrorCode(), e.getMessage(), e);
}
}
Aggregations