我有一个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中调整大小的更好的解决方案吗?
答案 0 :(得分:2)
我认为的问题是,如果剪辑的某个尺寸是奇数,大多数视频播放器都无法播放mp4。例如,720x1280适用于所有播放器,但721x1280仅适用于某些视频播放器,如VLC。
因此,在写入视频文件之前,请确保clip.h和clip.w都是。有几种方法可以做到这一点,或者自己指示剪辑的新尺寸,例如clip.resize((844, 476))
,或者将剪辑重新设置为66%,并在顶部添加1px黑色边距,例如clip.resize(0.66).margin(top=1)
< / p>