【问题标题】:Video compression before uploading to Google Cloud Storage上传到 Google Cloud Storage 之前的视频压缩
【发布时间】:2021-05-07 05:50:53
【问题描述】:

当谈到视频的大小时,我有点困惑。我目前正在使用signedUrl 将视频从客户端电话发送到 Google Cloud Storage 存储桶。我感到困惑的部分是关于视频的大小。我注意到当我上传一分钟长的视频时,大小超过 200mb。这是正常的吗?或者有没有办法减少视频大小,因为如果是这样的话,成本似乎是指数级的。

当前检索视频时,我将其作为

let result = await ImagePicker.launchImageLibraryAsync({
  mediaTypes: ImagePicker.MediaTypeOptions.Videos,
  allowsEditing: true,
  aspect: [4, 3],
  quality: 1,
  videoQuality: 6
});

据我了解,视频质量为 6 会产生 1280 x 720 分辨率。分辨率有问题吗?

提前感谢您的建议/帮助,希望能解决此问题或教我在处理视频并将其上传到云时应考虑的事项(关于空间和存储)。

【问题讨论】:

  • 同一个问题斗争了一个月,尝试了几个想法,但没有一个奏效。当你有想法时请告诉我。
  • @pankajchaturvedi 你可能会发现我的回答很有用

标签: javascript react-native google-cloud-storage expo react-native-image-picker


【解决方案1】:

videoQuality 参数应该是ImagePicker.UIImagePickerControllerQualityType 类型,如docs 中所述

ImagePicker.UIImagePickerControllerQualityType 目前有以下可能的值,您可以在它们的repo 中看到:

export enum UIImagePickerControllerQualityType {
  High = 0,
  Medium = 1,
  Low = 2,
  VGA640x480 = 3,
  IFrame1280x720 = 4,
  IFrame960x540 = 5,
}

因此,对于1280 x 720 输出,您应该设置videoQuality: 4

此外,如果您希望在上传到 Google Cloud Storage 时进一步减小视频文件的大小,您可能需要查看Decompressive transcoding feature,它会在请求时自动解压缩存储在 GCS 中的 gzip 文件(注意文件应该在存储到 GCS 之前进行压缩)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 2020-10-11
    • 2017-02-01
    • 2017-07-09
    • 2016-05-06
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多