在Linux下使用avconv進行螢幕錄影的教程?

這篇文章主要介紹了在Linux系統中使用avconv進行螢幕錄影的教程,當然也可以同時對聲音的輸入進行錄製,示例基於Ubuntu系統進行操作,需要的朋友可以參考下

方法/步驟

Libav是一款跨平臺的工具庫,能夠用來處理多媒體檔案、流和協議。它最初是源自ffmpeg。Libav帶有一些工具,比如:

Avplay: 一款視訊音訊播放器。 Avconv: 能夠記錄多個裝置輸入源的一個多媒體轉換器和視訊音訊錄製器。 Avprobe: 一個連線多媒體檔案流並且返回關於這個檔案流的統計資訊的工具。 Libavfilter: 一個Libav工具的過濾器(filtering)API。

在這篇文章裡面,我們就要展示如何通過'Avconv'程式在Debian/Ubuntu/Linux Mint發行版上錄製Linux桌面視訊音訊。第一步:下載 Avconv 工具

1. avconv是 “libav-tools” 的一部分, 可以通過官方的基於debian的倉庫下載,比如Mint、Ubuntu。輸入下面命令即可:

程式碼如下:

$ sudo apt-get update $ sudo apt-get install libav-tools

在Linux下使用avconv進行螢幕錄影的教程

注意: 你應該執行 ‘./configure –help’ 來列出所有的可選配置選項並且安裝相應的解碼器和庫,你還需要做很多工作來解決依賴問題。

也要注意,如果你是從原始碼編譯的,就需要使用sudo avconv而不是avconv來執行這個工具。第二步:開始錄製桌面視訊

2.一切就緒,現在可以通過執行下面的命令錄製你的視訊了:

程式碼如下:

$ avconv -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 $HOME/output.avi

簡單解釋一下這個命令:

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"鍵來終止記錄。

在Linux下使用avconv進行螢幕錄影的教程

4. 現在,你可以使用VLC或者其他的播放器,或者使用來自Libav包裡的播放器"avplay"來播放你錄製的視訊。

程式碼如下:

$ avplay $HOME/output.avi

注意: 別忘了替換輸出檔案的路徑為你自己的,錄製效果還是很好的。

在Linux下使用avconv進行螢幕錄影的教程

這有一段我用 “avconv” 錄製的視訊 (牆外)。第三步: 開始錄製桌面的音訊和視訊

5. 如果也想同時錄製音訊,先執行這個命令,列出所有的音訊輸入源:

程式碼如下:

$ arecord -l

結果類似這樣:

在Linux下使用avconv進行螢幕錄影的教程

在我這裡,我只有一個音訊輸入源,所以數量是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就能聽到你自己的聲音了。

在Linux下使用avconv進行螢幕錄影的教程

相關問題答案