Как изменить размер видеоклипа в Python

Я хочу изменить размер видеоклипа в Python 2.7.

Например, мы указываем "movie.mp4" с качеством 1080p. Результатом должно быть "movie.mp4" с качеством 360p.

Думаю, что с Moviepy должны быть решения. Если вы знаете решение проблемы.

Буду признателен, если вы мне ответите.


person Seyed Ali Akhavani    schedule 06.02.2015    source источник
comment
Вы прочитали документ zulko.github.io/moviepy/ref/videofx/ еще нет?   -  person dragon2fly    schedule 06.02.2015


Ответы (2)


Вот как изменить размер фильма с помощью moviepy: см. документ mpviepy здесь

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

Как было сказано выше, вы также можете использовать ffmpeg напрямую, это будет проще, если вам просто понадобится быстрый скрипт.

person Zulko    schedule 06.02.2015
comment
если вы хотите свободно устанавливать ширину и высоту без необходимости придерживаться относительного масштабирования w: h, вы можете использовать параметр newsize, например. clip_resized = clip.resize(newsize=(my_width,my_height)) - person Zahra; 06.05.2020

Почему не ffmpeg?

ffmpeg -i movie.mp4 -vf scale=640:360 movie_360p.mp4

Если вы используете 640: -2, то в этом примере масштабный фильтр сохранит соотношение сторон и автоматически вычислит правильную высоту.

Дополнительные параметры см. В руководстве по кодированию H.264.

person John Hua    schedule 06.02.2015
comment
как я могу использовать его в Python? - person Seyed Ali Akhavani; 06.02.2015
comment
os.system (ffmpeg -i movie.mp4 -vf scale = 640: 360 movie_360p.mp4) - person John Hua; 06.02.2015
comment
Помните, что не всегда безопасно использовать os.system для запуска внешних программ. - person Unknown; 06.02.2015
comment
Если вы используете 640:-2, то в этом примере масштабный фильтр сохранит соотношение сторон и автоматически вычислит правильную высоту. - person llogan; 07.02.2015
comment
Спасибо @LordNeckbeard. Очень полезные знания. - person John Hua; 07.02.2015
comment
Вы можете использовать subprocess для запуска команды ... Если возникнут какие-либо ошибки, вы сможете их отловить. - person Pyzard; 27.11.2020
comment
Могу ли я использовать изменение размера в skvideo.read? - person DIGMASTER97; 02.07.2021