在 Linux 上安裝 FFmpeg

FFmpeg 是一套處理多媒體文件的軟件庫(kù)。憑借這些強(qiáng)大的庫(kù),F(xiàn)Fmpeg 能夠轉(zhuǎn)換格式、推流以及處理音頻和視頻文件。許多 Linux 的前端應(yīng)用都使用 FFmpeg 作為后端支持,所以這些應(yīng)用對(duì) FFmpeg 的依賴度非常高。舉個(gè)例子,錄屏軟件可能會(huì)用到 FFmpeg 將錄屏轉(zhuǎn)換為 gif 動(dòng)圖。
VLC 多媒體播放器、YouTube、Blender、Kodi、Shotcut 和 Handbrake 等流行的應(yīng)用與服務(wù)都在使用 FFmpeg,這僅僅一小部分。
趣事:NASA 火星 2020 計(jì)劃的探測(cè)器“毅力”號(hào)在將圖像和視頻發(fā)送到地球之前,會(huì)先使用 FFmpeg 對(duì)其進(jìn)行處理。
關(guān)于 FFmpeg
FFmpeg 本身是一款非常強(qiáng)大的命令行實(shí)用程序,在 Linux 發(fā)行版、Windows 以及 macOS 等系統(tǒng)上均可運(yùn)行,支持多種架構(gòu)。FFmpeg 是用 C 語(yǔ)言和匯編語(yǔ)言編寫的,性能強(qiáng)大,提供跨平臺(tái)支持。
核心
FFmpeg 的核心是命令行實(shí)用程序,既可在命令行上使用,也可以經(jīng)由任何程序語(yǔ)言調(diào)用。比如,你可以在 Shell 程序或 python 腳本中使用 FFmpeg。
- ?
?ffmpeg??:用于轉(zhuǎn)換音視頻格式,包括來(lái)自視頻直播的信號(hào)源。 - ?
?ffplay??:FFmpeg 配套使用的媒體播放器 - ?
?ffprobe??:顯示媒體文件信息的命令行工具,可將信息輸出為 csv、xml、json 等格式。
FFmpeg 安裝
在 Ubuntu 等 Linux 發(fā)行版上, FFmpeg 的安裝比較簡(jiǎn)單。打開終端,運(yùn)行以下命令安裝即可。
Ubuntu 及與其相似的發(fā)行版
sudo apt install FFmpegFedora
在 Fedora Linux 上安裝 FFmpeg,你需要添加 ??RPM Fusion 倉(cāng)庫(kù)??,因?yàn)?Fedora 官方倉(cāng)庫(kù)沒有 FFmpeg 軟件包。
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-sudo dnf install ffmpegArch Linux
pacman -S ffmpeg安裝完成后,可輸入以下命令查看安裝是否成功。
ffmpeg --version
FFmpeg installed in Ubuntu Linux
示例:FFmpeg 的基本操作
首先,我們先來(lái)看看 FFmpeg 語(yǔ)法的一個(gè)簡(jiǎn)單例子。如下,該語(yǔ)法可以將 mp4 文件轉(zhuǎn)換為 mkv 文件。
1、視頻文件格式轉(zhuǎn)換
ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv當(dāng)然,這種寫法最為簡(jiǎn)單易懂,但它并不完整,因?yàn)闆]有輸入 比特率bit rate、分辨率resolution 以及其他的視頻文件屬性。
2、音頻文件格式轉(zhuǎn)換
其次,輸入與上面相似的命令可以轉(zhuǎn)換音頻文件的格式。
ffmpeg -i sunny_day.ogg sunny_day.mp33、使用音視頻編解碼器執(zhí)行格式轉(zhuǎn)換
最后,在下面的例子中,我們可以使用特定的 編解碼器codec 來(lái)轉(zhuǎn)換視頻格式。參數(shù) ??-c??? 搭配 ??a??? 或者 ??v???,可以分別定義音頻和視頻文件。以下轉(zhuǎn)換命令使用 ??libvpx??? 視頻編解碼器和 ??libvorbis?? 音頻編解碼器。
ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm
如何確定自己系統(tǒng)中有哪些編碼器和解碼器?
顯示所有編解碼器
輸入以下命令,打印所有編解碼器。
ffmpeg -codecs該命令可以打印出所有可用的編解碼器,并顯示每個(gè)編解碼器對(duì)應(yīng)的功能信息,比如是否支持解碼或編碼。此外,如以下輸出結(jié)果所示,打印出來(lái)的信息還會(huì)按照首字母順序標(biāo)注出每個(gè)編碼器和解碼器的位置。
D..... = 支持解碼
.E.... = 支持編碼
..V... = 視頻編解碼器
..A... = 音頻編解碼器
..S... = 字幕編解碼器
...I.. = 僅限幀內(nèi)編解碼器
....L. = 有損壓縮
.....S = 無(wú)損壓縮

FFmpeg Codec list
顯示所有編碼器
輸入下列命令,打印出所有編碼器
ffmpeg -encoders顯示所有解碼器
同樣,輸入下列命令,打印出所有解碼器。
ffmpeg -decoders更多信息
輸入?yún)?shù) ??-h??,獲取更多關(guān)于編碼器或解碼器的信息。
ffmpeg -h decoder=mp3
總結(jié)
我希望這篇文章可以幫助你了解 FFmpeg 的基本知識(shí)及基本命令。若要了解更多信息,可前往 FFmpeg 官方網(wǎng)站瀏覽 ??幫助文檔??。

























