首先,我使用弹性转码器更改视频文件的分辨率,然后使用 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 存储桶中获取实际大小吗?