python – moviepy调整大小不适用于某些大小

我有一个720×1280的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)

我为每个尺寸做这个,但有些工作,有些不工作. 0.66不起作用,就像0.33一样. 0.5%的工作正常.

它为每个大小创建文件,但它们已损坏,无法打开它们(除了0.5,因为我说,哪个工作正常).

这有什么线索吗?在Python中调整大小的更好的解决方案?

最佳答案 我认为的问题是,如果剪辑的一个尺寸是奇数,大多数视频播放器都无法播放mp4.例如,720×1280适用于所有播放器,但721×1280仅适用于某些视频播放器,如VLC.

因此,在写入视频文件之前,请确保clip.h和clip.w都是.有几种方法可以做到这一点,或者自己指示剪辑的新尺寸,如clip.resize((844,476)),或者将剪辑重新设置为66%并在顶部添加1px黑色边距,如剪辑.resize(0.66).margin(顶部= 1)

点赞