CentOS下安裝FFmpeg

1.安裝依賴包

  1. 安裝autoconf
cd /root/source
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz    
tar xvf autoconf-2.69.tar.xz
cd autoconf-2.69
./configure
make
make install
  1. 安裝automake
cd /root/source
wget http://ftp.gnu.org/gnu/automake/automake-1.15.tar.xz  
tar xvf automake-1.15.tar.xz
cd automake-1.15
./configure
make
make install
  1. 安裝libtool(FAAC需要)
cd /root/source
wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
tar xvf libtool-2.4.6.tar.xz
cd libtool-2.4.6
./configure
make
make install
  1. 安裝yasm支持匯編優(yōu)化(FFmpeg需要)
cd /root/source
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
  1. 安裝MP3支持庫LAME
cd /root/source
wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz  
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install
  1. 安裝AAC支持庫FAAC
    make時(shí)報(bào)錯(cuò):mpeg4ip.h:126: 錯(cuò)誤:對‘char* strcasestr(const char, const char)’的新聲明
    需要修改common/mp4v2/mpeg4ip.h第123行至129行內(nèi)容:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

修改為:

#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

編譯

cd /root/source
wget http://jaist.dl.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.bz2 
tar xvf faac-1.28.tar.bz2
cd faac-1.28
./bootstrap
./configure --with-mp4v2 
#按前文修改mpeg4ip.h內(nèi)容
make
make install
主要提示:可能受限于FFmpeg版本的緣故弄唧,安裝了AAC庫,在ffmpeg-3.2.4版本下編譯ffmpeg鸥鹉,使用--enable-libfaac選項(xiàng)時(shí),會報(bào)找不到libfaac錯(cuò)誤。百度了一番桥胞,看了FFmpeg的WiKi百科导俘,發(fā)現(xiàn)它使用libfdk-aac庫替代libfaac庫,安裝后測試果然解決問題。
cd /root/source
wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master
tar xzvf fdk-aac.tar.gz
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --disable-shared --with-pic
#--with-pic 很重要赤嚼,一定要帶上旷赖,不然在編譯FFmpeg時(shí)會報(bào)錯(cuò)
make
make install
  1. 安裝AMR支持庫opencore-amr
cd /root/source
wget http://jaist.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
tar xvf opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure
make
make install
  1. 安裝通用音樂音頻編碼格式支持庫libvorbis
支持庫libvorbis需要依賴libogg,先安裝libogg庫
cd /root/source
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz
tar xvf libogg-1.3.2.tar.xz
cd libogg-1.3.2
./configure
make
make install
再安裝libvorbis庫
cd /root/source
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz
tar xvf libvorbis-1.3.5.tar.xz
cd libvorbis-1.3.5
./configure
make
make install
  1. 安裝x264庫支持H.264視頻轉(zhuǎn)碼
cd /root/source
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared
make
make install
  1. 安裝Xvid庫支持MPEG-4轉(zhuǎn)碼
cd /root/source
wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.bz2
tar xvf xvidcore-1.3.3.tar.bz2
cd xvidcore/build/generic
./configure
make
make install
  1. 安裝Theora視頻壓縮支持庫
cd /root/source
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz
tar xvf libtheora-1.1.1.tar.xz
cd libtheora-1.1.1
./configure
make
make install
  1. 安裝NUT支持庫
該軟件需要用svn獲取源代碼更卒,svn可以直接用yum install svn來裝等孵。

安裝時(shí)64位Linux系統(tǒng)需要修改文件config.mak

# 在最后一個(gè)CFLAGS下一行增加:
CFLAGS += -fPIC

否則安裝FFmpeg make時(shí)報(bào)錯(cuò):

/usr/local/lib/libnut.a: could not read symbols: Bad value
cd /root/source
svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
cd libnut
./configure
#configure后修改上述的config.mak
make
make install
  1. 安裝VP8/VP9編解碼支持庫
cd /root/source
#git clone http://git.chromium.org/webm/libvpx.git
#直接獲取比較好,沒裝git
wget -O libvpx.zip https://codeload.github.com/webmproject/libvpx/zip/master
unzip libvpx.zip
cd libvpx
./configure --enable-shared
make
make install
  1. 安裝FFmpeg最新版
cd /root/source
wget http://ffmpeg.org/releases/ffmpeg-3.2.4.tar.bz2
tar xvf ffmpeg-3.2.4.tar.bz2
cd ffmpeg-3.2.4
#老版本的--enable-libfaac蹂空,已替換為--enable-libfdk-aac
./configure --enable-version3 --enable-libvpx --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --enable-libnut --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared
make
#若出現(xiàn)下述錯(cuò)誤俯萌,在此修改config.mak文件,然后再make上枕,切記別重新configure
make install

若make的時(shí)候咐熙,報(bào)以下錯(cuò)誤

/usr/bin/ld: libavcodec/mqc.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
libavcodec/mqc.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

解決方法是:

#config.mak L75加入 -fPIC,然后重新編譯
#直接替換辨萍,順序可能不一樣
HOSTCFLAGS=-O3 -g -std=c99 -Wall -fPIC
  1. 添加動態(tài)鏈接庫配置
echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf
#更新緩存
ldconfig
安裝到這里就大功告成啦棋恼,一路安裝真心不容易,查看下版本:
[root@localhost djnj]# ffmpeg -version
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)
configuration: --enable-version3 --enable-libvpx --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --enable-libnut --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared
libavutil      55. 34.101 / 55. 34.101
libavcodec     57. 64.101 / 57. 64.101
libavformat    57. 56.101 / 57. 56.101
libavdevice    57.  1.100 / 57.  1.100
libavfilter     6. 65.100 /  6. 65.100
libswscale      4.  2.100 /  4.  2.100
libswresample   2.  3.100 /  2.  3.100
libpostproc    54.  1.100 / 54.  1.100

看到這個(gè)滿滿的幸福和成就感锈玉。


參考文檔:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爪飘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嘲玫,更是在濱河造成了極大的恐慌悦施,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件去团,死亡現(xiàn)場離奇詭異抡诞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)土陪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門昼汗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鬼雀,你說我怎么就攤上這事顷窒。” “怎么了源哩?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵鞋吉,是天一觀的道長。 經(jīng)常有香客問我励烦,道長谓着,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任坛掠,我火速辦了婚禮赊锚,結(jié)果婚禮上治筒,老公的妹妹穿的比我還像新娘。我一直安慰自己舷蒲,他們只是感情好耸袜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牲平,像睡著了一般堤框。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欠拾,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天胰锌,我揣著相機(jī)與錄音,去河邊找鬼藐窄。 笑死资昧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荆忍。 我是一名探鬼主播格带,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刹枉!你這毒婦竟也來了叽唱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤微宝,失蹤者是張志新(化名)和其女友劉穎棺亭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟋软,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镶摘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岳守。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凄敢。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖湿痢,靈堂內(nèi)的尸體忽然破棺而出涝缝,到底是詐尸還是另有隱情,我是刑警寧澤譬重,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布拒逮,位于F島的核電站,受9級特大地震影響臀规,放射性物質(zhì)發(fā)生泄漏消恍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一以现、第九天 我趴在偏房一處隱蔽的房頂上張望狠怨。 院中可真熱鬧,春花似錦邑遏、人聲如沸佣赖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽憎蛤。三九已至,卻和暖如春纪吮,著一層夾襖步出監(jiān)牢的瞬間俩檬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工碾盟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棚辽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓冰肴,卻偏偏與公主長得像屈藐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子熙尉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容