我已将视频分成多个块上传到S3存储桶中, 我有这些视频电子标签列表。如何使用Java将这些视频合并成一个视频?
1)我不想将这些块下载到我的服务器并合并它。
2)有没有办法,我可以从s3存储桶本身将其合并以形成单个视频。
我的代码-
@Path("/uploadVideo")
@POST
public Response uploadVideoParts(@FormDataParam("folderName") String folderName,
@FormDataParam("bucketName") String bucketName, @FormDataParam("fileName") String fileName, @FormDataParam("eTagList") String eTagList) {
logger.info("inside uploadVideoParts ");
String[] etagsListArray = null;
if(!Strings.isNullOrEmpty(eTagList)) {
etagsListArray = eTagList.split(",");
}
UploadVideoBO uploadVideoObj = new UploadVideoBO(etagsListArray, folderName, bucketName, fileName);
CreateMultipartUploadRequest createMultipartUploadRequest = CreateMultipartUploadRequest.builder()
.bucket(uploadVideoObj.getBucketName()).key("test").build();
CreateMultipartUploadResponse response = s3.createMultipartUpload(createMultipartUploadRequest);
String uploadId = response.uploadId();
List<CompletedPart> completedPartList = new ArrayList<>();
for (String eTag : uploadVideoObj.geteTagList()) {
CompletedPart part = CompletedPart.builder().partNumber(1).eTag(eTag).build();
completedPartList.add(part);
}
CompletedMultipartUpload completedMultipartUpload = CompletedMultipartUpload.builder().parts(completedPartList)
.build();
CompleteMultipartUploadRequest completeMultipartUploadRequest = CompleteMultipartUploadRequest.builder()
.bucket("motor01-non-prod").key("fileName").uploadId(uploadId).multipartUpload(completedMultipartUpload)
.build();
s3.completeMultipartUpload(completeMultipartUploadRequest);
return null;
}