Linux下的GIF录制
2016-08-10 本文已影响446人
Andy周
本机OS: Ubuntu 14.04 x64
Windows下录制gif图片的工具很多,Linux下录制的工具比较少
之前一直都是用Android Studio自带的工具录制成视频,也有使用OBS录制视频,然后使用FFMPEG库的命令进行转换,最终的结果就是图片体积很大,CSDN的图片上传都有大小限制,后来放到Github上,其他地方来引用,不过加载也很缓慢,后来找了几个帖子,有介绍使用byzanz工具录制的,记录一下使用过程。
首先是安装,比较简单
sudo apt-get install byzanz
如果找不到,可以先添加源
sudo add-apt-repository ppa:fossfreedom/byzanzsudo apt-get update && sudo apt-get install byzanz
直接录制
执行命令即可
byzanz-record --duration=10 --x=100 --y=100 --width=600 --height=600 output.gif
--duration 录制时长
--x x坐标
--y y坐标
--width 录制宽度
--height 录制高度
output.gif 录制生成文件名
录制窗口
新建脚本byzanz-record-window.sh
#!/bin/bash
# Example: byzanz-record-window 30 -c output.gif
# Delay before starting
DELAY=5
# Duration and output file
if [ $# -gt 0 ]; then
D="--duration=$@"
else
echo Default recording duration 5s to /tmp/recorded.gif
D="--duration=10 /tmp/recorded.gif"
fi
XWININFO=$(xwininfo)
read X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO")
read Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO")
read W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO")
read H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO")
echo Delaying $DELAY seconds. After that, byzanz will start
for (( i=$DELAY; i>0; --i )) ; do
echo $i
sleep 1
done
byzanz-record --verbose --delay=0 --x=$X --y=$Y --width=$W --height=$H $D
记得加上执行权限
chmod a+x byzanz-record-window.sh
录制视频
./byzanz-record-window 5 -c output.gif
附加:
如果不习惯上述方式
可以下载LICEcap这款Windows下的工具,配合Wine使用非常方便
http://www.cockos.com/licecap/
录制效果也非常好
参考:
http://einverne.github.io/post/2016/01/byzanz-record.html