Как бы я изменил размер и сжал видео в облачных функциях? - PullRequest
0 голосов
/ 09 января 2020

Я повсюду видел, как достичь цели, кроме изображений. Мне просто интересно, как бы я сделал то же самое с видео? Я создаю приложение, которое включает в себя загрузку только видео продолжительностью не более 30 секунд, а не изображений (кроме изображения профиля пользователя), и мне нужен какой-то способ:

  1. Изменение размера видео, чтобы все видео имели одинаковое разрешение и размер на всех iPhone
  2. Сжатие видео, поэтому, если кто-то загрузит 30-секундный клип целиком в 4K, это не займет всю мою память.
  3. Ограничьте каждое видео размером до 50 МБ, но всегда предпочитайте сохранять качество HD.

Как бы я это сделал?

Спасибо, Натан

1 Ответ

3 голосов
/ 09 января 2020

Для этого вам необходимо реализовать облачную функцию, запускаемую google.storage.object.finalize, которая анализирует размер каждого загруженного видео. Затем, если требуется изменить размер видео, вы можете использовать moviepy IE, чтобы изменить его размер и / или настроить качество изображения.

Вы можете просмотреть документацию для получения дополнительной справки

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" в последнюю строку.

...