如何在S3存储桶中合并视频以形成一个视频

时间:2018-10-22 07:09:01

标签: java amazon-s3

我已将视频分成多个块上传到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;
    }

0 个答案:

没有答案
相关问题