moviepy调整大小在某些尺寸下不起作用

fac*_*ica 5 python moviepy

我有一个720x1280的mp4视频,我希望它具有不同的尺寸,例如:0.66%,0.5%和0.33%。

对于每种尺寸,我使用:

clip = mp.VideoFileClip(file)
clip_resized1 = clip.resize(height=int(clip.h * float(0.66666))) 
clip_resized1.write_videofile(name + '-2x' + ext)
Run Code Online (Sandbox Code Playgroud)

我为每种尺寸进行此操作,但是其中一些有效,有些则无效。0.66无效,就像0.33一样。0.5%的效果很好。

它会为每种大小创建文件,但是它们已损坏,并且无法打开它们(如我所说的0.5除外,可以正常工作)。

有什么线索吗?有任何更好的Python尺寸调整解决方案吗?

Zul*_*lko 6

我认为的问题是,如果剪辑的维度之一是奇数,则大多数视频播放器都无法播放 mp4。例如,720x1280 适用于所有播放器,但 721x1280 仅适用于 VLC 等某些视频播放器。

因此,在写入视频文件之前,请确保 clip.h 和 clip.w 都是相同的。有几种方法可以做到这一点,要么自己指定剪辑的新尺寸clip.resize((844, 476)),例如clip.resize(0.66).margin(top=1)