MP4转GIF
本文介绍了两种使用FFmpeg减小GIF文件大小的方法。方法1是简单的一行命令,直接转换视频为GIF;方法2采用高质量压缩方案,通过首先生成调色板再转换的两步操作,能获得更好的画质和更小的文件体积。文章详细说明了关键参数的作用,包括帧率(fps)、尺寸缩放(scale)和高质量算法(flags=lanczos)等设置,并提供了多种尺寸选项和进一步压缩的建议。推荐使用需要两步操作但效果更优的方法2来
·
这里有2种方法来减小GIF文件大小:
方法1:简单的一行命令
ffmpeg -i my_video.mp4 -vf "fps=10,scale=480:-1" my_video.gif
方法2:高质量压缩(推荐)
# 第一步:生成调色板
ffmpeg -i my_video.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png
# 第二步:使用调色板生成GIF
ffmpeg -i my_video.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" my_video.gif
# 清理临时文件
rm palette.png
参数说明:
fps=10- 设置帧率为10fpsscale=480:-1- 宽度设为480px,高度按比例缩放flags=lanczos- 使用高质量缩放算法palettegen和paletteuse- 生成和使用优化的调色板
更多尺寸选项:
# 小尺寸 (320px宽)
scale=320:-1
# 中等尺寸 (480px宽)
scale=480:-1
# 较大尺寸 (640px宽)
scale=640:-1
# 或者按百分比缩放到原尺寸的50%
scale=iw*0.5:ih*0.5
如果还想进一步压缩:
# 降低到5fps,更小尺寸
ffmpeg -i my_video.mp4 -vf "fps=5,scale=320:-1:flags=lanczos,palettegen" palette.png
ffmpeg -i my_video.mp4 -i palette.png -filter_complex "fps=5,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" my_video.gif
推荐使用方法2,虽然需要两步,但生成的GIF质量更好,文件大小也更合理。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)