How To Resize a Video Clip in Python
Moviepy Resize function
>>> myClip.resize( (460,720) ) # New resolution: (460,720)
>>> myClip.resize(0.6) # width and heigth multiplied by 0.6
>>> myClip.resize(width=800) # height computed automatically.
>>> myClip.resize(lambda t : 1+0.02*t) # slow swelling of the clip
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.
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.