1. 程式人生 > >CentOS7部署ffmpeg及各種編碼器

CentOS7部署ffmpeg及各種編碼器

FFmpeg 是什麼?

FFmpeg是一個開源免費跨平臺的視訊和音訊流方案,屬於自由軟體,採用LGPL或GPL許可證(依據你選擇的元件)。它提供了錄製、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音訊/視訊編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec裡很多codec都是從頭開發的。
FFmpeg在Linux平臺下開發,但它同樣也可以在其它作業系統環境中編譯執行,包括Windows、Mac OS X等。
FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。它包括了目前領先的音/視訊編碼庫libavcodec。

所需包下載:

===

===

===

===

===

===

===

===

===

===

===

===

===

===

安裝解碼器

lame-3.99.5.tar.gz

tar zxvf  lame-3.99.5.tar.gz  
cd lame-3.99.5  
./configure --enable-shared --prefix=/usr  
make && make install

libogg-1.1.3.tar.gz

tar zxvf libogg-1.1
.3.tar.gz cd libogg-1.1.3 ./configure --prefix=/usr make && make install

libvorbis-1.1.2.tar.gz

tar zxvf libvorbis-1.1.2.tar.gz  
cd libvorbis-1.1.2  
./configure --prefix=/usr  
make && make install

xvidcore-1.1.3.tar.gz

tar zxvf xvidcore-1.1.3.tar.gz  
cd xvidcore-1.1.3/build/generic    
./configure --prefix=/usr  
make && make install

在安裝 x264時,在進行環境配置時,系統提示配置不成功,因為x264需要使用yasm進行編譯,而且yasm版本至少為1.2,故必須先安裝yasm

yasm-1.2.0.tar.gz

mkdir -p /usr/local/bin/yasm
tar zxvf yasm-1.2.0.tar.gz  
cd yasm-1.2.0  
./configure --prefix=/usr/local/bin/yasm PATH=$PATH:/usr/local/bin/yasm/bin  
make && make install

last_x264.tar.bz2

tar jxvf last_x264.tar.bz2  
cd x264-snapshot-20141105-2245  
 ./configure --prefix=/usr --enable-shared  --disable-asm  
make && make install

libdca-0.0.2.tar.gz

tar zxvf libdca-0.0.2.tar.gz  
cd libdts-0.0.2  
./configure --prefix=/usr  
make && make install

a52dec-0.7.4.tar.gz

tar zxvf a52dec-0.7.4.tar.gz  
cd a52dec-0.7.4  
./configure --prefix=/usr  
make && make install

faad2-2.7.tar.gz

tar zxvf faad2-2.7.tar.gz  
cd faad2-2.7  
autoreconf -vif  
./configure --prefix=/usr --with-mp4v2 --enable-shared  
make && make install

faac-1.28.tar.gz

tar zxvf faac-1.28.tar.gz  
cd faac-1.28  
./bootstrap  
./configure --prefix=/usr  
make && make install

amrnb-11.0.0.0.tar.bz2

tar jxvf amrnb-11.0.0.0.tar.bz2  
cd amrnb-11.0.0.0  
 ./configure --prefix=/usr --enable-shared  
make && make install

amrwb-11.0.0.0.tar.bz2

tar jxvf amrwb-11.0.0.0.tar.bz2  
cd amrwb-11.0.0.0  
./configure --prefix=/usr  
make && make install

opencore-amr-0.1.5.tar.gz

tar zxvf opencore-amr-0.1.5.tar.gz
cd opencore-amr-0.1.5
./configure
make && make install

ffmpeg-2.4.3.tar.bz2

tar jxvf ffmpeg-2.4.3.tar.bz2
cd ffmpeg-2.4.3
./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame  --enable-libvorbis --enable-libopencore-amrnb  --enable-libopencore-amrwb --disable-yasm --enable-version3 --enable-nonfree --enable-libx264 --enable-libfaac
make && make install
可能出現的錯誤訊息:

1.ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory

此情況是因為ffmpeg未找到相關依賴包,可以通過以下方法解決:
先find / -type f -name libavdevice.so.56 得到該檔案的目錄地址;
然後 vim /etc/ld.so.conf 將上述目錄新增到最後一行並儲存退出;
再 ldconfig 使配置生效,即可;