使用 ffmpeg 实现 MP4 与 GIF 的互转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 ffmpeg 实现 MP4 与 GIF 的互转相关的知识,希望对你有一定的参考价值。

参考技术A 在 Mac OSX 上使用 Homebrew 安装 ffmpeg :

从视频中第二秒开始,截取时长为3秒的片段转化为 gif

默认转化是中等质量模式,若要转化出高质量的 gif,可以修改比特率

注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度。

如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2

定义帧率 16fps:

-an 就是禁止音频输出

也可以将 gif 转为其他视频格式

使用 ImageMagick 可以方便第提取 gif 图片的第 N 帧图像。

安装 ImageMagick

提取第一帧

通过 [0] 就可以提取出 gif 的第一帧图像。

有些 GIF 转化出来的 MP4 不能被 Mac QuickTime Player.app 播放,需要添加 pixel formal 参数

使用 yunv420p 需要保证长宽为偶数,这里同时使用了 scale=420:-2 。

wiki 解释 : QuickTime Player 对 H.264 视频只支持 YUV 色域 4:2:0 方式的二次插值算法。

以上是关于使用 ffmpeg 实现 MP4 与 GIF 的互转的主要内容,如果未能解决你的问题,请参考以下文章

sh MP4到gif。使用ffmpeg

基于FFmpeg的Java视频Mp4转GIF初探

基于FFmpeg的Java视频Mp4转GIF初探

如何在 Flutter 中将 GIF 转换为 mp4 视频?

从gif转换的mp4没有在网络浏览器中显示

ffmpeg+Python实现B站MP4格式音频与视频的合并