Linux各种姿势Linux 相关文章Linux学习之路

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

上一篇下一篇

猜你喜欢

热点阅读