2021-05-12 14:32:11
Ubuntu下錄製gif動態圖教學
用Ubuntu系統自帶的截圖很難抓好有動態效果的圖片。有沒有其它好用截圖工具能截圖gif動態圖呢? 要是能截到.gif格式的動態圖片那就更好啦。別急,Linux下也有簡單好用的錄製gif動態圖的工具。
錄製 gif 動畫在很多時候都會派上用場。比如說,你需要向某個朋友演示軟體的用法。現在有一個錄製 GIF 動畫的小工具值得大家試試,它的名字是 byzanz。
下面我就以Ubuntu 17.10下錄製gif詳細講解過程,其他Linux發行版也一樣簡單。
先看效果圖:
下載byzanz錄製工具
可以使用圖形介面的Ubuntu軟體中心搜尋byzanz或者通過apt-get下載。
命令:
linuxidc@linuxidc:~$ sudo apt-get install byzanz
[sudo] linuxidc 的密碼:
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹
正在讀取狀態資訊... 完成
下列軟體包是自動安裝的並且現在不需要了:
fonts-wine libieee1284-3:i386 libwine-development libwine-development:i386
ocl-icd-libopencl1:i386 wine32-development:i386 wine64-development
使用'sudo apt autoremove'來解除安裝它(它們)。
將會同時安裝下列軟體:
gstreamer1.0-libav
下列【新】軟體包將被安裝:
byzanz gstreamer1.0-libav
升級了 0 個軟體包,新安裝了 2 個軟體包,要解除安裝 0 個軟體包,有 92 個軟體包未被升級。
需要下載 195 kB 的歸檔。
解壓縮後會消耗 888 kB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
獲取:1 http://cn.archive.ubuntu.com/ubuntu artful/universe amd64 gstreamer1.0-libav amd64 1.12.2-1 [110 kB]
獲取:2 http://cn.archive.ubuntu.com/ubuntu artful/universe amd64 byzanz amd64 0.3.0+git20160312-1 [85.1 kB]
已下載 195 kB,耗時 0秒 (564 kB/s)
正在選中未選擇的軟體包 gstreamer1.0-libav:amd64。
(正在讀取資料庫 ... 系統當前共安裝有 216229 個檔案和目錄。)
正準備解包 .../gstreamer1.0-libav_1.12.2-1_amd64.deb ...
正在解包 gstreamer1.0-libav:amd64 (1.12.2-1) ...
正在選中未選擇的軟體包 byzanz。
正準備解包 .../byzanz_0.3.0+git20160312-1_amd64.deb ...
正在解包 byzanz (0.3.0+git20160312-1) ...
正在設定 gstreamer1.0-libav:amd64 (1.12.2-1) ...
正在設定 byzanz (0.3.0+git20160312-1) ...
正在處理用於 man-db (2.7.6.1-2) 的觸發器 ...
正在處理用於 hicolor-icon-theme (0.17-1) 的觸發器 ...
linuxidc@linuxidc:~$
安裝完成後開啟終端輸入
linuxidc@linuxidc:~$ byzanz-record --help
用法:
byzanz-record [OPTION…] 錄製您的當前桌面對談
幫助選項:
-?, --help 顯示幫助選項
--help-all 顯示全部幫助選項
--help-gtk 顯示 GTK+ 選項
應用程式選項:
-d, --duration=SECS 動畫的時間 (預設:10 秒)
-e, --exec=COMMAND Command to execute and time
--delay=SECS 開始之前的延時(預設:1 秒)
-c, --cursor 錄製滑鼠游標
-a, --audio 錄音
-x, --x=畫素 要錄製矩形的 X 坐標
-y, --y=畫素 要錄製矩形的 Y 坐標
-w, --width=畫素 錄製矩形的寬度
-h, --height=畫素 錄製矩形的高度
-v, --verbose 詳細
--display=顯示 要使用的 X 顯示
linuxidc@linuxidc:~$
其中我們重點關注幾個引數
* -d 動畫錄製的時間,預設錄製10秒
* -e 動畫開始延遲
* -x 錄制區域的起始X坐標
* -y 錄制區域的起始Y坐標
* -w 錄制區域的寬度
* -y 錄制區域的高度
byzanz-record --delay=5 -d 20 -x 163 -y 64 -w 1076 -h 843 ~/a.gif
--delay=5 表示延遲5妙
如何知道自己要在螢幕錄製區域的坐標以及高度?系統自帶有命令工具,輸入xwininfo會提示你選擇一個視窗,點選之後會返回這個視窗的詳細資訊 。測試機器的資訊如下圖
linuxidc@linuxidc:~$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x9b (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1366
Height: 768
Depth: 24
Visual: 0x4b
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x4a (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: yes
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1366x768+0+0
linuxidc@linuxidc:~$
特別說明:
Absolute upper-left X: 開始的X坐標,絕對值
Absolute upper-left Y: 開始的Y坐標,絕對值
Width: 視窗寬度
Height : 視窗高度
只要有這四個數值我們就可以開始錄製gif動態圖了。
byzanz-record -x 0 -y 0 -w 800 -h 505 ~/x.gif
本文最上面就是一張就是byzanz錄製的gif效果圖。
因為這個是命令列工具,而且其中需要指定錄影區域的坐標這些引數,但是你不可能那麼清楚吧,有什麼好的方式能獲取到要錄影區域的螢幕範圍呢?Ubuntu下還有一個叫做xdotool,可以獲取到當前滑鼠位置,這樣一來,你就可以算出你要錄影區域的坐標位置了。
安裝xdotool:
sudo apt-get install xdotool1
命令列輸入:
xdotool getmouselocation1
把滑鼠移到要錄入的位置,然後敲擊回車確認命令,顯示如下:
x:872 y:588 screen:0 window:713033471
其中就可以知道x和y的坐標,進而獲得byzanz-record需要的引數。
相關文章