libav是一款跨平台的工具庫,能夠用來處理多媒體檔案、流和協定。它最初是源自ffmpeg。libav帶有一些工具,比如:
avplay: 一款視訊音頻播放器。
avconv: 能夠記錄多個裝置輸入源的一個多媒體轉換器和視訊音頻錄制器。
avprobe: 一個連接配接多媒體檔案流并且傳回關于這個檔案流的統計資訊的工具。
libavfilter: 一個libav工具的過濾器(filtering)api。
在這篇文章裡面,我們就要展示如何通過'avconv'程式在debian/ubuntu/linux mint發行版上錄制linux桌面視訊音頻。
<a target="_blank"></a>
1. avconv是 “libav-tools” 的一部分, 可以通過官方的基于debian的倉庫下載下傳,比如mint、ubuntu。輸入下面指令即可:
$ sudo apt-get update
$ sudo apt-get install libav-tools
下載下傳avconv工具
注意: 如果從預設倉庫下載下傳的話, ‘avconv’ 的版本可能比較老。 是以我們推薦你拉取最新的git官方版本。
$ sudo apt-get install yasm
$ git clone git://git.libav.org/libav.git
$ cd libav
$ ./configure
$ make
$ sudo make install
注意: 你應該運作 ‘./configure –help’ 來列出所有的可選配置選項并且安裝相應的解碼器和庫,你還需要做很多工作來解決依賴問題。
也要注意,如果你是從源代碼編譯的,就需要使用sudo avconv而不是avconv來運作這個工具。
2.一切就緒,現在可以通過運作下面的指令錄制你的視訊了:
簡單解釋一下這個指令:
avconv -f x11grab 預設從x服務捕捉畫面。
-r 25 這是你需要的視訊幀率,可以自行設定。
-s 1920×1080 是你的系統的桌面分辨率,要設定成你目前桌面的分辨率,這一點非常重要。
-i :0.0 我們要記錄的位置(x 服務輸出端口),設定成這樣就可以了。
-vcodec libx264 我們用來錄制視訊的編碼器。
-threads 4 線程數,可以根據情況更改。
$home/output 輸出的目标檔案路徑。
.avi 使用的視訊格式,可以換成 “flv”、“mp4″、 “wmv”、 “mov”、 “mkv”等。
3.在運作指令之後,就會在terminal上自動運作一個程序進行記錄,按"ctrl+c"鍵來終止記錄。
錄制桌面視訊
4. 現在,你可以使用vlc或者其他的播放器,或者使用來自libav包裡的播放器"avplay"來播放你錄制的視訊。
$ avplay $home/output.avi
注意: 别忘了替換輸出檔案的路徑為你自己的,錄制效果還是很好的。
播放錄制的檔案
5. 如果也想同時錄制音頻,先運作這個指令,列出所有的音頻輸入源:
$ arecord -l
結果類似這樣:
檢查音頻輸入源
在我這裡,我隻有一個音頻輸入源,是以數量是1,這就是我使用如下指令來捕捉我的視訊以及麥克風的音頻的原因。
$ avconv -f alsa -i hw:1 -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 output-file2.avi
我修改了部分地方,下面做個簡短的解釋:
-f alsa 一個從alsa裝置捕捉聲音的選項。
-i hw:1 是一個從 “hw:1” 裝置捕捉音頻的選項,這個裝置是我電腦上僅有的一個音頻輸入裝置。
注意: 如果你想用arecord -l顯示的1之外的裝置的話,别忘了替換 “1”。
結束錄制,再來一次“ctrl + c” 就可以。
6. 如果隻想錄制音頻的話,使用下面的指令。
$ avconv -f alsa -i hw:1 out.wav
7. 替換成 .mp3 等libav支援的格式都可以,播放 out.wav就能聽到你自己的聲音了。
錄制桌面音頻
原文釋出時間:2014-11-27
本文來自雲栖合作夥伴“linux中國”