How To Resize a Video Clip in Python

2020-06-12 05:45发布

问题:

I want to resize a video clip in python 2.7.

For example we give "movie.mp4" with 1080p quality The result should be "movie.mp4" with 360p quality

I Think that there should be solutions with Moviepy. If you know a solution with it.

I would be grateful if you answer me.

回答1:

Here is how you resize a movie with moviepy: see the mpviepy doc here

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")

You can also tune the quality by adding the parameter bitrate="500k" or bitrate="5000k" in the last line.

As said above, you could also use ffmpeg directly, it will be simpler if you just need a quick script.



回答2:

Why not ffmpeg?

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

If you use 640:-2 then, in this example, the scale filter will preserve the aspect ratio and automatically calculate the correct height.

Look at the H.264 encoding guide for additional options.