如何在 Python 中调整视频剪辑的大小

How To Resize a Video Clip in Python

我想在 python 2.7 中调整视频剪辑的大小。

例如我们给 "movie.mp4" 1080p 质量 结果应该是 "movie.mp4",360p 质量

我认为 Moviepy 应该有解决方案。如果你知道解决方案。

如果你能回答我,我将不胜感激。

为什么不用 ffmpeg?

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

如果您使用 640:-2,那么在此示例中,缩放过滤器将保留纵横比并自动计算正确的高度。

查看 H.264 encoding guide 了解更多选项。

以下是使用 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")

您还可以通过在最后一行添加参数 bitrate="500k"bitrate="5000k" 来调整质量。

如上所说,你也可以直接使用ffmpeg,如果你只需要一个快速的脚本就更简单了。

Moviepy 调整大小功能

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