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.
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.