You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用moviepy的write_gif导出GIF时分辨率被改变,如何保持原尺寸?

解决MoviePy导出GIF分辨率与原视频不一致的问题

MoviePy的write_gif方法默认会对视频进行缩放处理,导致导出的GIF分辨率和原MP4不一致。要保持原视频尺寸,只需在导出时指定原视频的分辨率参数即可,具体操作如下:

  • 先通过视频剪辑对象的size属性获取原视频的宽高(格式为(宽度, 高度))
  • 调用write_gif时,添加size参数传入原视频分辨率
  • 建议同步指定原视频帧率,避免帧率转换引发的额外处理

修改后的代码示例:

from moviepy.editor import VideoFileClip
import os

os.chdir(r'G:\\')
clip = VideoFileClip("VID.mp4").subclip(6*60, 6.1*60)
# 获取原视频分辨率
original_size = clip.size
# 导出GIF时指定尺寸和原视频帧率
clip.write_gif("vidgif.gif", program='ffmpeg', size=original_size, fps=clip.fps)

关键参数说明

  • size=original_size:强制GIF使用原视频的宽高尺寸,彻底避免自动缩放
  • fps=clip.fps:保持原视频的帧率,确保GIF动画速度和原视频一致,同时减少不必要的尺寸调整

如果使用program='imageio'作为导出工具,同样可以通过size参数指定原视频分辨率解决问题。

内容的提问来源于stack exchange,提问作者Mohammed Hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:05:28