首頁 > 軟體

Linux下使用RecordMyDesktop進行螢幕錄影

2020-06-16 17:51:53

螢幕錄影的功能對於分享遊戲攻略、演示電腦軟體的操作是必不可少的。在Windows下可能一般的使用者就下載盜版的商業軟體來做了。而在GNU/Linux作業系統下,則有現成的自由軟體可供使用,只不過沒有圖形介面罷了,但也同樣方便有效。更何況,這一點對於已經入門的Linux使用者來說也不算什麼難題。本文介紹如何使用recordmydesktop進行螢幕錄影。

軟體包的安裝就不用說了。需要提及一點的是,在使用recordmydesktop之前,還需要安裝pavucontrol(PulseAudio Volume Control)。否則,所得的視訊只有影象而沒有聲音,無論怎麼設定聲音選項中的device都不行。pavucontrol簡介如下:

PulseAudio Volume Control (pavucontrol) is a simple GTK+ based volume control tool (mixer) for the PulseAudio sound server. In contrast to classic mixer tools this one allows you to control both the volume of hardware devices and of each playback stream separately. It also allows you to redirect a playback stream to another output device without interrupting playback.

然後,執行pavucontrol,在其中的“Recording”索引標籤中將聲源選為“Monitor of Built-in Audio Analog Stereo”,則可以錄製電腦上正在播放的音訊。而若選擇“Built-in Audio Analog Stereo”,則會錄製由麥克風輸入的聲音。需注意的是,一定要先開啟錄音程式,這些設定選項才會出現。具體如下圖所示:

接下來,就可以執行recordmydesktop命令錄製螢幕了。其中所用引數的含義不言自明。需注意的是,--device選項的值為pulse。

recordmydesktop --display :0.0 -x 1728 -y 156 --width 1024 --height 768 --device pulse --overwrite -o wesnoth-under-the-burning-sun.ogv

錄製bsnes遊戲時,由於其預設的影格率為60,所以在下面的命令中,--fps選項也需要指定一下。同時,使用--s_quality選項設定了聲音的品質為最高:

recordmydesktop --display :0.0 -x 1845 -y 278 --width 796 --height 581 --fps 60 --device pulse --s_quality 10 --overwrite -o bsnes.ogv

為了方便知曉需要被錄影視窗的大小與位置,可以呼叫自己寫的Sawfish函數display-window-paras來顯示出視窗資訊。該函數目前被系結到了Super-e快捷鍵上。該函數的內容如下:

;; Display window position and dimension
(defun display-window-paras ()
  "Display the position, dimension and group ID of the current window."
  (interactive)
  (let* ((cur-win (input-focus))
  (win-width (car (window-dimensions cur-win)))
  (win-height (cdr (window-dimensions cur-win)))
  (win-x (car (window-position cur-win)))
  (win-y (cdr (window-position cur-win))))
    (display-message
    (concat "Name: " (window-name cur-win) "n"
      "Dimension: " (number->string win-width) "x" (number->string win-height) "n"
      "Position: " (number->string win-x) "x" (number->string win-y) "n"
      "Group ID: " (number->string (window-actual-group-id cur-win)))
    alert-msg-attrib)))

(bind-keys window-keymap
    "Super-e" `(display-window-paras))

執行display-window-paras後,其顯示出的資訊如下:

需要結束錄影時,在終端視窗按Ctrl+c向recordmydesktop發現退出信號,在其儲存完視訊檔後便自動退出。接下來,需要將ogv格式的視訊轉化為常見的格式,如mp4。一個需要解決的問題是如何讓聲音與影象保持同步。目前是使用ffmpeg進行格式轉換的(mencoder經試用後效果不好):

ffmpeg -i input_file.ogv -acodec libmp3lame -acodec ac3 -ab 128k -ac 2 -vcodec libx264 -preset slow -crf 22 -threads 4 output_file.mp4

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-10/123918.htm


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