高质量 GIF 文件的工具

Tools for high quality GIF files

我想添加一些 GIF 文件到我的 README

请帮我创建一些 GIF 文件:

我看过一些 60fps 4k gif 文件,但我知道它们是假的。 例如 9gag 使用 <video> 标签和 mp4 视频源。

I am not able to embed video directly to my README.

I want only short (2-5 seconds) videos.

向 github 自述文件添加动画的最佳方法是什么?

如果你想要一个直接将桌面屏幕录制成gif的工具,我强烈推荐ScreenToGif,它非常简单而且非常有用。

您可以通过此方法使用 FFMPEG 将视频转换为质量合理的 GIF - http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html

引用:

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=15,scale=320:-1:flags=lanczos"

ffmpeg -v warning -i  -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -i  -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y 

...可以这样使用:

% ./gifenc.sh video.mkv anim.gif

可以使用 imagemagick 将 PNG 文件转换并合并到 GIF 中:

convert -loop 0 -delay 100 in1.png in2.png out.gif

或者使用一些在线工具like this one.


但请记住,GIF 并不是真正适合或适合大型、高质量的动画。通过一些技巧,您可以让它显示超过 256 种颜色,但它会显着增加文件大小。 4k 60fps GIF 下载起来会非常大,很可能会导致性能问题。如果您计划将多个此类 GIF 添加到单个页面,它们可能会使浏览器崩溃或使某些访问者的浏览速度显着降低。这就是为什么有些网站现在使用视频作为他们所谓的 "GIFs".

为了获得最佳视觉质量,有 gifski 编码器。

GIF 理论上支持最大 100fps,但出于向后兼容的原因,浏览器不会以此速率播放它。有些以 33fps 的速度播放,有些以 25fps 的速度播放。

GIF 压缩非常糟糕。即使是理想的纯色压缩效果也很差。 GIF 只能对帧之间不同的小矩形进行编码,因此如果它是只有鼠标或文本光标移动的截屏视频,则文件大小可能是可以接受的(您可以使用 gifsicle/giflossy 对其进行优化),但否则请避免使用高分辨率。