尝试了各种方案:
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%的大小(对于终端视频,大块颜色都是背景色)
最后,晒下我这边的录制效果(顺带打个小广告 :)
1
gxm44 2017-01-18 11:07:29 +08:00
赞一个
|
2
ynyounuo 2017-01-18 11:40:47 +08:00
其实给别人演示用 asciinema 足矣呀
你录制的那个帧数像是幻灯片一样 一定要 gif 的话我一般用差不多这类参数,稍作微调 -r {5-15} -b:v {<=500k} -maxrate {<=1000k} -pix_fmt rgb24 效果类似这样( https://www.v2ex.com/t/334244?p=1#r_3952591 ): |
3
atywz 2017-01-18 11:47:05 +08:00
steam 上 有个软件 叫 shareX 免费
|
4
waruqi OP @ynyounuo asciinema 我也用过 录制效果不错 还能上传到他们的网站 但是需要跳转过去才能播放 加载很慢 弄成 gif 有即视感感 可以直接看 嵌入 readme 效果不错 帧率低点 无所谓
|
8
sobigfish 2017-01-18 12:58:53 +08:00
嵌入 readme 的大 gif 比 asciinema 加载更慢=。= (github 的话)
展示 terminal 而非直观展示界面的话, asciinema 的文字更直观。 非要用 gif 图的话, gifsicle 试过没 |
9
ynyounuo 2017-01-18 13:00:48 +08:00
|
12
waruqi OP @sobigfish 我看了下 gifsicle 貌似只是个 gif 的合并 编辑 生成工具,有点类似 convert 。。没法录屏
|
13
waruqi OP github 上超过 2m 的 gif 。。我之前试了下。。 github 很容易缓存到一半,就再也加载显示不出来了。。 = =
|
14
sobigfish 2017-01-18 13:39:44 +08:00
是的, gifsicle 优化的 gif 好像比较好.
|
16
brucezhou 2017-01-20 18:38:10 +08:00
我用的是 Snagit ,挺方便的
|