CentOs7.5安裝FFmpeg

wintercloud發表於2019-07-10

一、FFmpeg簡介

FFmpeg是一個自由軟體,可以執行音訊和視訊多種格式的錄影、轉換、流功能,包含了libavcodec ─這是一個用於多個專案中音訊和視訊的解碼器庫,以及libavformat——一個音訊與視訊格式轉換庫

"FFmpeg"這個單詞中的"FF"指的是"Fast Forward"。有些新手寫信給"FFmpeg"的專案負責人,詢問FF是不是代表“Fast Free”或者“Fast Fourier”等意思,"FFmpeg"的專案負責人回信說“Just for the record, the original meaning of "FF" in FFmpeg is "Fast Forward"...”

FFmpeg在Linux平臺下開發,但它同樣也可以在其它作業系統環境中編譯執行,包括Windows、Mac OS X等。這個專案最初是由Fabrice Bellard發起的,而現在是由Michael Niedermayer在進行維護。許多FFmpeg的開發者同時也是MPlayer專案的成員,FFmpeg在MPlayer專案中是被設計為伺服器版本進行開發。

2011年3月13日,FFmpeg部分開發人士決定另組libav,網址http://libav.org,同時制定了一套關於專案繼續發展和維護的規則。

組成元件

此計劃由幾個元件組成:

  • ffmpeg是一個命令列工具,用來對視訊檔案轉換格式,也支援對電視卡實時編碼
  • ffserver是一個HTTP多媒體實時廣播流伺服器,支援時光平移
  • ffplay是一個簡單的播放器,基於SDL與FFmpeg庫
  • libavcodec包含了全部FFmpeg音訊/視訊編解碼庫
  • libavformat包含demuxers和muxer庫
  • libavutil包含一些工具庫
  • libpostproc對於視訊做前處理的庫
  • libswscale對於影象作縮放的庫

引數

FFmpeg可使用眾多引數,引數內容會根據ffmpeg版本而有差異,使用前建議先參考引數及編解碼器的敘述。此外,引數明細可用ffmpeg -h顯示;編解碼器名稱等明細可用ffmpeg -formats顯示。

下列為較常使用的引數。

主要引數

  • -i設定輸入檔名。
  • -f設定輸出格式。
  • -y若輸出檔案已存在時則覆蓋檔案。
  • -fs超過指定的檔案大小時則退出轉換。
  • -ss從指定時間開始轉換。
  • -title設定標題。
  • -timestamp設定時間戳。
  • -vsync增減Frame使影音同步。

影象引數

  • -b設定影象流量,預設為200Kbit/秒。(單位請引用下方注意事項
  • -r設定幀率值,預設為25。
  • -s設定畫面的寬與高。
  • -aspect設定畫面的比例。
  • -vn不處理影象,於僅針對聲音做處理時使用。
  • -vcodec設定影象影象編解碼器,未設定時則使用與輸入檔案相同之編解碼器。

聲音引數

  • -ab設定每Channel(最近的SVN版為所有Channel的總合)的流量。(單位請引用下方注意事項
  • -ar設定取樣率。
  • -ac設定聲音的Channel數。
  • -acodec設定聲音編解碼器,未設定時與影象相同,使用與輸入檔案相同之編解碼器。
  • -an不處理聲音,於僅針對影象做處理時使用。
  • -vol設定音量大小,256為標準音量。(要設定成兩倍音量時則輸入512,依此類推。)

注意事項

  • 以-b及ab首選項流量時,根據使用的ffmpeg版本,須注意單位會有kbits/sec與bits/sec的不同。(可用ffmpeg -h顯示說明來確認單位。)
例如,單位為bits/sec的情況時,欲指定流量64kbps時需輸入‘ -ab 64k’;單位為kbits/sec的情況時則需輸入‘ -ab 64’。
  • 以-acodec及-vcodec所指定的編解碼器名稱,會根據使用的ffmpeg版本而有所不同。例如使用AAC編解碼器時,會有輸入aac與libfaac的情況。此外,編解碼器有分為僅供解碼時使用與僅供編碼時使用,因此一定要利用ffmpeg -formats確認輸入的編解碼器是否能運作。

二、CentOs7.5下安裝FFmpeg

1.官網下載linux版本的ffmpeg原始碼包 ffmpeg-4.1.tar.xz

(此步驟也可以使用git clone下載原始碼包,本質上是一樣的 )

2.使用xftp將原始碼包ffmpeg-4.1.tar.xz上傳至linux主機(直接使用linux命令下載到linux也可以)

cd /usr/local/ 
mkdir ffmpeg    #在usr/local目錄下建立ffmpeg目錄

 

3.解壓原始碼包

tar xvJf ffmpeg-4.1.tar.xz

4.切換到ffmpeg-4.1目錄、安裝gcc編譯器

cd ffmpeg-4.1
yum install gcc #安裝gcc編譯器
yum install yasm #安裝yasm編譯器

5.輸入如下命令/usr/local/ffmpeg為自己指定的安裝目錄

./configure --enable-shared --prefix=/usr/local/ffmpeg

6.執行make(非常非常久.......)

make

7.執行make install(安裝)

8.修改檔案/etc/ld.so.conf

vim /etc/ld.so.conf
輸入以下內容
include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib/

輸入ldconfig使修改生效。

9.檢視版本

/usr/local/ffmpeg/ffmpeg-4.1/ffmpeg -version

10.配置環境變數

# vim /etc/profile

在最後PATH新增環境變數:

#set ffmpeg environment
PATH=$PATH:/usr/local/ffmpeg/bin
export PATH
source /etc/profile #使配置生效

11.檢視環境變數是否配置成功

ffmpeg -version

至此安裝成功

參考文章:

1、FFmpeg 維基百科

2、FFMPEG系列二:linux下下載編譯安裝ffmpeg(超詳細附採坑完整版)

相關文章