首頁 > 軟體

Ubuntu下錄製gif動態圖教學

2020-06-16 16:58:14

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需要的引數。


IT145.com E-mail:sddin#qq.com