ffmpeg安裝linux
① ffmpeg安裝在linux哪個目錄
Linux下ffmpeg的完整安裝
最近在做一個企業項目, 期間需要將用戶上傳的視頻轉成flv格式或mp4格式並用flash插件在前端播放, 我決定採用ffmpeg (http://www.ffmpeg.org/ )實現. 當然以前也用過ffmpeg, 但是沒有安裝額外的庫, 只是源代碼下簡單地 ./configure, 最後發現好多功能都用不了, 比如最流行的x264編碼器. 所以決心完整地安裝一下ffmpeg, 經過兩天痛苦地折騰, 終於成功了, 現在將過程記錄下來. 主要參考了 [1] 和 [2] 兩篇博文, 其中 [1] 是2007年寫成的, 其中所提到的依賴庫版本比較老, 本人安裝的都是相應最新的版本.
首先要安裝各種解碼器
1、lame
lame-3.99.5.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安裝方法如下:
1 tar -zxvf lame-3.99.5.tar.gz
2 cd lame-3.99.5
3 ./configure --enable-shared 4 make
5 make install
2、libogg
libogg-1.3.1.tar.gz
Url:http://www.xiph.org/downloads/
安裝方法如下:
3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依賴於libogg, 所以libogg必須先於libvorbis安裝)
安裝方法如下:
1 ./configure 2 make
3 make install
4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安裝方法如下:
5、x264
latest_x264.tar.bz2 (其中包含的目錄是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安裝方法如下:
1
2
3
4
1 tar -jxvf latest_x264.tar.bz2
2 ./configure
3 make
4 make install
6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html
安裝方法:
7、a52
a52dec-0.7.4.tar.gz (這個庫從2002年就沒有更新過了)
http://liba52.sourceforge.net/downloads.html
安裝方法:
8、faad2
faad2-2.7.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法
9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法:
10、amr-nb
amrnb-10.0.0.0.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
1 ./configure 2 make
3 make install
12、最關鍵的一步, 安裝ffmpeg
1
2
3
1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
2 make
3 make install
在./configure的時候會報錯, 提示說沒有libopencore-amrnb和libopencore-amrwb兩個庫. 我參考了 [2], 使用如下命令安裝它們:
1
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
如果./configure的時候加入 --enable-shared, 編譯安裝沒有問題. 但是運行ffmpeg命令就會出錯:
1
relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference;
這時可以參考 [3], 大意是說跟gstreamer的動態庫沖突了, 要卸載gstreamer. 但是如果卸載了gstreamer我的多媒體軟體多不能用了. 所以我卸載了ffmpeg並重新編譯成靜態庫. 安裝完之後, 運行ffmpeg成功, 輸出如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
[1] http://yezi.iteye.com/blog/139399
[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/
[3] http://blog.csdn.net/nil_foc/article/details/6547047
② linux下安裝ffmpeg好之後怎麼使用
安裝了就好了,系統會調用,我之前裝別的軟體需要解決依賴性而裝了這個
③ linux伺服器怎麼安裝ffmpeg
1、下載ffmpeg。
2、解壓縮 tar -zxvf ffmpeg.tar.gz
3、編輯profile文件:
vi /etc/profile
在文件末尾加上兩句話:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4、配置安裝路徑之類的:
./configure --enable-shared --prefix=/usr/local/ffmpeg
--enable-shared 參數據說是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。
如果出現異常,提示因為缺少yasm,需要添加參數,再執行以下命令:
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果執行結果不對,可以根據提示信息,並查看幫助,解決問題
./configure --help
5、編譯安裝
make
make install
6、安裝之後在/usr/local/ffmpeg會看到有三個目錄
bin 執行文件目錄
lib 靜態,動態鏈接庫目錄
include 編程用到的頭文件
7、為了防止執行程序找不到庫文件,
可以將/usr/local/ffmpeg/lib目錄設置到LD_LIBRARY_PATH環境變數
8、若出現error while loading shared libraries: libavdevice.so.52的錯誤
修改/etc/ld.so.conf 在最後一行加上/usr/local/ffmpeg/lib
ldconfig -v
並修改 /usr/local/ffmpeg/lib目錄下的文件許可權為777
④ linux下怎麼變異ffmpeg
1、下載ffmpeg。
wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2
我是在這個網址上下載ffmpeg-0.4.9-p20051120.tar.bz2,看網上有人用的是svn下載,但是我的機子中沒有svn客戶端,然後就在網上搜索,下載了這個版本。如果利用svn可以下載ffmpeg最新的版本。
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
2、解壓
tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2
得到解壓後的目錄是ffmpeg-0.4.9-p20051120,名字太長,利用mv命令改為ffmpeg
mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg
3、配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。
4、編譯並安裝
make
make install
5、安裝之後在/usr/local/ffmpeg會看到有三個目錄
lib 動態鏈接庫位置
include 編程要用到頭文件
bin 執行文件所在的目錄
6、為了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。
這里我這樣復制了還是不對,-lavcodec -lavutil -lavformat的時候,提示找不到庫
然後我把 /usr/local/ffmpeg/lib 所有文件復制到 /usr/local/lib才可以的
執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3
./ffplay 1.mp3
另外,bin目錄下還有兩個文件:ffmpeg和ffserver
ffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。
7、編程
如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:
#include
編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)
如果沒有第6部的操作,則編譯的時候如下:
gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
編譯成功之後,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然後執行 ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。
以上的方式是採用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則採用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利於再次開發,所以我採用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。
⑤ linux下安裝opencv必需要先安裝ffmpeg嗎
看到個類似的問題: www.avidemux.org/smf/index.php?topic=11974.0 你這個東西真不好說,不過看來是 x264 因為是靜態編譯,靜態編譯我記得需要別的函數庫也是靜態的。你這個應該是 x264 本身就有找不到的函數入口問題,導致現在傳染給了 ffmpeg
⑥ ffmpeg怎麼安裝在linux開發板
1、下載ffmpeg。wgetconfigure--help查看,也可以直接查看configure文件。這在配置的時候很重要。
⑦ linux 查看ffmpeg安裝沒有
你沒說是系統系統版本的,不同版本之前命令也是不同的。給你紅帽系統,也可以用作Centos查看的命令:
命令 作用
yum repolist all 列出所有倉庫。
yum list all 列出倉庫中所有軟體包
yum info 軟體包名稱 查看軟體包信息
yum install 軟體包名稱 安裝軟體包
yum reinstall 軟體包名稱 重新安裝軟體包
yum update 軟體包名稱 升級軟體包
yum remove 軟體包 移除軟體包
yum clean all 清除所有倉庫緩存
yum check-update 檢查可更新的軟體包
yum grouplist 查看系統中已經安裝的軟體包組
yum groupinstall 軟體包組 安裝指定的軟體包組
yum groupremove軟體包組 移除指定的軟體包組
yum groupinfo 軟體包組 查詢指定的軟體包組信息
搜索《linux就該這么學》,第一章節裡面的知識點。
⑧ linux ffmpeg 怎麼編64位
1、下載ffmpeg。
下載網址:http://www.ffmpeg.org/download.html
2、解壓縮
tar -zxvf ffmpeg-2.0.1.tar.gz
3、配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果執行結果不對,可以根據提示信息,並查看幫助,解決問題
./configure --help
4、編譯安裝
make
make install
5、安裝之後在/usr/local/ffmpeg會看到有三個目錄
bin 執行文件目錄
lib 靜態,動態鏈接庫目錄
include 編程用到的頭文件
為了防止執行程序找不到庫文件,
可以將/usr/local/ffmpeg/lib目錄設置到LD_LIBRARY_PATH環境變數,
或者查看/usr/local/ffmpeg/lib下所有的鏈接,並在/usr/lib下建立同樣的鏈接。如下。
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so.55
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so.55
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so.3
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so.55
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so.52
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so.0
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so.2
這時就需要在/etc/ld.so.conf下面加一行/usr/local/ffmpeg/lib,保存過後ldconfig一下,
這時就需要在/etc/ld.so.conf下面加一行/usr/local/MySQL/lib,保存過後ldconfig一下,
6、編譯測試程序
gcc -o ffmpegtest ffmpegtest.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
7、執行程序
./ffmpegtest
或直接執行/usr/local/ffmpeg/lib目錄下的./ffmpeg進行測試。
⑨ 我想在linux下安裝ffmpeg,但是光有ffmpeg包還不行,還要一些庫的支持,我網上搜了好久都沒搜到。
你是用RPM來安裝的吧,卸載掉換成編譯安裝吧