我有一个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)
我对每种尺寸都执行此操作,但是其中一些有效,有些则无效。 0.66无效,就像0.33一样。 0.5%的效果很好。
它会为每种大小创建文件,但是它们已损坏,并且无法打开它们(如我所说的0.5除外,可以正常工作)。
有什么线索吗?有更好的Python大小调整解决方案吗?
最佳答案
我认为的问题是,如果剪辑的尺寸之一是奇数,则大多数视频播放器将无法播放mp4。例如,720x1280可在所有播放器上使用,但721x1280仅可在某些视频播放器(如VLC)上播放。
因此,即使在写入视频文件之前,请确保clip.h和clip.w都处于同一状态。您可以通过多种方式进行操作,或者自己指示片段的新尺寸(例如clip.resize((844, 476))
),或者重新定义片段的66%,并在顶部添加1px黑色边距(例如clip.resize(0.66).margin(top=1)
)
关于python - moviepy调整大小在某些尺寸下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32529085/