mac 上制作终端演示视频并生成 gif

原创
2017/01/18 11:57
阅读数 597

尝试了各种方案:

  1. ttyrec + tty2gif/ttygif :时间长了后,生成 gif 太慢,效果也不是很好
  2. LICECap 工具录屏生成 gif :效果不尽如人意,画质太差
  3. ttystduio: 画质也不是很满意,而且生成文件很大
  4. mac 自带的 qucktime 录屏 mov + ffmpeg 转 gif + convert 优化 gif 大小:最后的方案
  5. mac 自带的 qucktime 还是很强大哦的,直接选取需要录屏的区域,直接进行录制就行了,最后生成 mov 文件。。

但是用默认的 ffmpeg 参数直接转换成 gif ,画质很差,后来终于从老外的 github 上搜了一段脚本(原始 url 找不到了, = =)。。

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=$4,scale=$3:-1:flags=lanczos"

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

里面通过使用 ffmpeg 预生成调色板,来提高 gif 的画质,并且通过设置缩放比率、帧率来压缩文件大小。。

使用方式:

mov2gif  xxx.mov xxx.gif 800 1

这是我这边设置的参数,由于我是录制终端视频,帧率设置为 1fps ,就已经足够了,不然文件太大。。

然后再用 convert 进一步压缩 gif 大小:

convert xxx.gif -fuzz 5% -layers Optimize xxx2.gif

如果不加-fuzz 5%,优化粒度不大,这个参数可以将图片附近区域相近的颜色合并成相同值,进行压缩,通过这行命令,基本上可以继续压缩 50%的大小(对于终端视频,大块颜色都是背景色)

最后,晒下我这边的录制效果(顺带打个小广告 :)

demo

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部