1.首先登入ffmpeg的官網下載源文件:
http://ffmpeg.org/download.html#get-sources
2.解壓
tar -xvjf ffmpeg-2.4.tar.bz2
3.運行自動配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。
--prefix設置的安裝目錄。
期間可能會出錯,說少了yasm,請用--disabled-yasm重新運行,在命令中加入這個參數也能成功,不過最好加上,這個和格式轉換有關係的!
Yasm是一個完全重寫的NASM彙編。目前,它支持x86和AMD64指令集,接受NASM和氣體彙編語法,產出二進制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64對象的格式,並生成STABS 調試信息的來源,DWARF 2 ,CodeView 8格式。
這裏建議安裝yasm
4.安裝yasm
apt-get install yasm
再運行配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
5.編譯安裝
make && make install
安裝之後在/usr/local/ffmpeg下會看到三個目錄
1.lib 動態鏈接庫位置
2.include 編程要用到頭文件
3.bin 執行文件所在的目錄
爲了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so複製到/usr/lib下。把include目錄下的文件夾複製到/usr/include下。執行bin目錄下的ffmpeg,另外,bin目錄下還有兩個文件:ffprobe和ffserver。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。
6.添加環境變量
打開終端輸入
sudo vim ~/.bashrc
在其末尾添加
export PATH=$PATH:/usr/local/ffmpeg/bin
使其立即生效,在終端執行
source ~/.bashrc
或者重新啓動電腦即可。
7.查看ffmpeg是否安裝成功
ffmpeg --help
出現
ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory
用ldd命令查看缺少什麼庫
其中就有缺少上面的libavdevice.so.56
然後find搜索這些庫在什麼地方
find / -name "libavdevice.so.56"
可以查到在/usr/local/ffmpeg/lib/libavdevice.so.56下
8.添加這些庫
vim /etc/ld.so.conf
在此文件下添加
/usr/local/ffmpeg/lib
其中/usr/local/ffmpeg就是剛纔安裝的位置
最後使用命令:
sudo ldconfig
就成功了
9.查看
ffmpeg --help
出現如下版本信息
安裝成功
注:這裏附上在做ffmpeg源碼分析的時候,安裝ffmpeg時同時安裝gprof功能的過程。
1.首先還是先解壓:
tar -xvjf ffmpeg-2.4.tar.bz2
2.配置:
./confgure --disable-stripping --extra-cflags="-pg -g" --extra-ldflags="-pg -g" --disable-asm
3.make
4.運行ffmpeg
5.進入configure下運行後若要生產圖像則使用
gprof ./ffmpeg gmon.out|./gprof2dot|dot -Tpng -o out.png