使用ffmpeg命令行工具可以将gif转换为mp4。核心命令为 ffmpeg -i input.gif output.mp4,该命令会自动处理编码转换并生成h.264格式的mp4文件。

如何优化GIF转MP4的体积与画质?
默认转换可能产生较大文件,通过调整 -crf 和 -pix_fmt 参数可平衡质量与大小。推荐使用 -c:v libx264 -crf 23 -pix_fmt yuv420p 组合,其中 -crf 23 是质量与体积的较好平衡点,-pix_fmt yuv420p 确保广泛兼容性。

ffmpeg -i input.gif -c:v libx264 -crf 23 -pix_fmt yuv420p -an output.mp4
预期结果:生成 output.mp4,无音频流(-an),H.264编码,YUV420P像素格式,文件大小显著小于原始GIF且视觉损失较小。
立即学习“PHP免费学习笔记(深入)”;
如何处理透明背景GIF的转换?
GIF支持透明通道,但标准MP4(H.264)不支持Alpha通道。若需保留透明背景,需使用HEVC (H.265) 编码并启用Alpha通道支持,或使用WebM格式。对于普通MP4需求,通常忽略透明度或填充背景色。

ffmpeg -i input.gif -c:v libsvtav1 -pix_fmt yuva420p output_alpha.mp4
预期结果:生成 output_alpha.mp4,使用SVT-AV1编码器,包含Alpha通道,可在支持HEVC Alpha的播放器中显示透明背景。注意:此格式兼容性较差,仅适用于特定场景。
基于程序中某个输入、条件或结果的具体问题
当输入GIF包含多帧动画时,FFmpeg会逐帧处理并合并为视频流。若GIF帧率过高,可能导致输出文件过大。可通过 -r 10 参数限制输出帧率以控制文件大小。



















