使用MoviePy调整视频尺寸时遭遇NameError错误求助
问题解决:NameError: name 'PIL' is not defined
错误原因
你通过from PIL import Image导入了Image模块,但在调用重采样方法时使用了PIL.Image.Resampling.LANCZOS——当前命名空间中并没有PIL这个模块对象,只有直接导入的Image,因此触发NameError。
修正方案
将PIL.Image.Resampling.LANCZOS替换为Image.Resampling.LANCZOS即可。由于你使用的是Pillow 10.0.0,该版本已将重采样常量从Image.LANCZOS迁移到Image.Resampling.LANCZOS,所以常量本身的引用是正确的,仅需修正模块路径。
完整修正代码
from moviepy.editor import VideoFileClip from moviepy.video.fx.resize import resize from PIL import Image video_path = "2textani.mp4" output_path = "now good1.mp4" new_width = 640 new_height = 480 video_clip = VideoFileClip(video_path) resized_clip = video_clip.resize((new_width, new_height), Image.Resampling.LANCZOS) resized_clip.write_videofile(output_path)
内容的提问来源于stack exchange,提问作者Pratyush Pandey
相关产品推荐
相关产品推荐

