ps. 本文实时更新于个人网站,请移步阅读。
Gif 是当下较为流行的一种交流方式,其文件比视频小,而且比 jpg 图片生动形象,所以不仅在微薄、QQ 等社交中尤为常见,而且适用于产品和功能的展示。同时,Gif 文件大小一般是普通 MP4 格式的数倍。
GIFs are an average of 5-10 times larger than an efficiently encoded MP4 video. This difference in size means that GIFs waste a large amount of bandwidth and also load at a slower rate leading to a bad user experience.
下文主要分享下如何在 Ubuntu 18 上录制 gif 动画以及处理 gif 文件,不必动用到 Windows 中像 Photoshop 这样的神器。
软件需求
- ImageMagick > ImageMagick 是一款用于创建、编辑和合并位图图像的一款开源软件。
- byzanz > byzanz是通过输入命令方式来录制文件小、清晰的GIF动态效果图。
Gif 录制
本文使用byzanz来录制Gif,其主要的参数选项有:
参数 | 单位 | 含义 |
---|---|---|
-d, --duration | SECS | 动画的时间 (默认:10 秒) |
--delay | SECS | 开始之前的延时(默认:1 秒) |
-c, --cursor | 录制鼠标光标 | |
-a, --audio | 录音 | |
-x, --x | 像素 | 要录制矩形的 X 坐标 |
-y, --y | 像素 | 要录制矩形的 Y 坐标 |
-w, --width | 像素 | 录制矩形的宽度 |
-h, --height | 像素 | 录制矩形的高度 |
-v, --verbose | 详细 | |
--display | 要使用的 X 显示 |
例子
1 | byzanz-record -d 10 --delay=5 -x 0 -y 0 -w 1440 -h 900 out.gif |
上面的命令是录制屏幕坐标(0,0)处宽度1440像素、高度900像素的矩形区域(指定的坐标为矩形左上角),延时5秒开始录制,录制时间10s,输出文件out.gif。
Gif 合并
如果想将录制的多个Gif合并成一个文件,只需将要合并的文件存到同一文件夹当中,再执行如下命令即可,不需要安装其他软件,Ubuntu比Windows强大之处。
1 | convert -delay 120 -loop 0 *.gif output.gif |
其中,"-delay 120"表示Gif动画速度, "-loop 0"表示无限循环。