2015-11-06
样图:
安装桌面录制工具
这些工具有:Record my desktop、Kazam、Vokoscreen等。
Record my desktop生成ogv格式,Kazam生成Mp4格式。
Kazam更好用,还可以用来截屏。
安装Kazam:
sudo apt-get install kazam
安装mplayer、ffmpeg(或者avconv)、convert等工具
sudo apt-get install mplayer imagemagick libav-tools
从视频中提取图片
例如将output.mp4提取图片放入output目录:
mplayer -ao null input.mp4 -vo jpeg:outdir=output
也可以用avconv/ffmpeg命令:
avconv -i input.mp4 -r 1 output/%04d.jpg
-r 1
是指每秒提取1帧。
这些命令可以对视频进行更加细致的操作,可以参考stackoverflow中的讨论:
How to convert video to images?
How to extract images from video file?
由多张图片生成gif
convert output/* output.gif
可以用-delay
指定两张图片之间的延时。
convert -delay 100 output/* output.gif
可以使用下面的方法优化output.gif文件的体积:
convert output.gif -fuzz 20% -layers optimize optimised.gif
fuzz
,模糊的意思,这个参数的说明如下:
-fuzz distance colors within this distance are considered equal
在Fuzz Distance and Transparent Colors有参数值的解释。黑与白之间的距离是100%。fuzz应该是针对每个颜色通道的。
-layers
的解释见http://www.imagemagick.org/script/command-line-options.php?#layers。
补充
一个比较实用的方案是使用LICEcap,不过需要在wine中安装。
https://procedural.github.io/post/GifRecorder/ 看起来也不错。
参考资料
recordMyDesktop
Top 4 screen recorders in Linux
Is FFmpeg missing from the official repositories in 14.04?
How to create animated GIF images of a screencast?
Convert Ogv -video to Gif -animation?