我将如何在云功能中调整视频的大小和压缩

问题描述 投票:0回答:1

除了图像,我到处都看到过如何实现标题的目标。我只是想知道如何处理视频?我正在制作一个仅上传最长30秒的视频,而不上传图片(除了用户个人资料图片)的应用,我需要采取以下方式:

  1. 调整视频大小,使所有视频在所有iPhone上具有相同的分辨率和大小
  2. 对视频进行压缩,因此,如果有人以4K上传完整的30秒剪辑,则不会占用我的整个存储空间。
  3. 将每个视频的大小限制为50MB,但始终希望保持高清质量。

我将如何做?

谢谢,内森

swift firebase google-cloud-functions firebase-storage
1个回答
0
投票

为了执行此操作,您需要实现由google.storage.object.finalize触发的Cloud Function,该Cloud Function可以分析上传的每个视频的大小。然后,如果需要调整视频大小,则可以使用moviepy I.E调整视频大小和/或调整图像质量。

您可以查看documentation以获取更多参考

import moviepy.editor as mp
clip = mp.VideoFileClip("movie.mp4")
clip_resized =  clip.resize(height=360) # make the height 360px ( According to moviePy documenation The width is then computed so that the width/height ratio is conserved.)
clip_resized.write_videofile("movie_resized.mp4")

您还可以通过在最后一行中添加参数bitrate="500k"bitrate="5000k"来调整质量。

© www.soinside.com 2019 - 2024. All rights reserved.