0

首先,我使用弹性转码器更改视频文件的分辨率,然后使用 s3.getObject 获取转换后文件的大小。

function sizeOf(key, bucket) 
            {
            return s3.getObject({ Key: key, Bucket: bucket })
            .promise()
            .then(res => res.ContentLength);
            }

    var params = {
            PipelineId: PIPELINE_ID,
            Input: {
                Key: key,
                FrameRate: 'auto',
                Resolution: 'auto',
                AspectRatio: 'auto',
                Interlaced: 'auto',
                Container: 'auto'
            },
            Outputs: [
                {
                    Key: key,
                    PresetId: presetId
                }
            ]
        };
        ElasticTranscoder.createJob(params, function(err, data){
            if (err) {
                console.log(err);
                context.fail();
                return;
            } else {
                sizeOf(key, bucketName).then(size => console.log("transcoded size=>", size));         
            }
        });

这里我面临的问题是,在使用转码器转换文件分辨率后,我从 s3.getObject 获得的文件大小与我在 s3 存储桶中看到的文件大小不同。相反,我得到的文件大小与原始文件的大小相同。

那么,任何人都可以帮助我在转码后如何从 s3 存储桶中获取实际大小吗?

4

0 回答 0