Linux ffmpeg的安装编译过程
Linux ffmpeg的安裝編譯過(guò)程
1、下載ffmpeg。
? ? 在網(wǎng)上搜索一下,或者到官方網(wǎng)站下載
?
2、解壓
?? tar命令解壓
3、配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
其中:--enable-shared 是允許其編譯產(chǎn)生動(dòng)態(tài)庫(kù),在以后的編程中要用到這個(gè)幾個(gè)動(dòng)態(tài)庫(kù)。--prefix設(shè)置的安裝目錄。
4、編譯并安裝
make
make install
5、安裝之后在/usr/local/ffmpeg會(huì)看到有三個(gè)目錄
lib 動(dòng)態(tài)鏈接庫(kù)位置
include 編程要用到頭文件
bin 執(zhí)行文件所在的目錄
6、為了以后方便編程,我們把lib中的三個(gè)鏈接庫(kù)libavcodec.so libavformat.so libavutil.so復(fù)制到/usr/lib下。把include目錄下的ffmpeg目錄復(fù)制到/usr/include下。
執(zhí)行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3
./ffplay 1.mp3
另外,bin目錄下還有兩個(gè)文件:ffmpeg和ffserver
ffmpeg是一個(gè)很好的視頻和音頻的格式轉(zhuǎn)化工具。網(wǎng)上有很多它的說(shuō)明文檔。如果不想生成ffserver,只要在./configure的時(shí)候加--disable-ffserver即可。
7、編程
如果寫(xiě)了一個(gè)test.c文件,要包含ffmpeg的頭文件,可以這樣寫(xiě):
#include
編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)
如果沒(méi)有第6部的操作,則編譯的時(shí)候如下:
gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
編譯成功之后,執(zhí)行的時(shí)候還是需要?jiǎng)討B(tài)庫(kù)的支持,還是要把那三個(gè)動(dòng)態(tài)庫(kù)文件復(fù)制到/usr/lib或者/lib中,不然執(zhí)行的時(shí)候會(huì)說(shuō)找不到動(dòng)態(tài)庫(kù)鏈接。還有一個(gè)方法可以解決這個(gè)問(wèn)題,就是把/usr/local/ffmpeg/lib這個(gè)目錄加入到/etc/ld.so.config中,然后執(zhí)行l(wèi)dconfig,或者重啟電腦,這樣執(zhí)行的時(shí)候系統(tǒng)就可以從/usr/local/ffmpeg/lib這個(gè)目錄下去找這三個(gè)動(dòng)態(tài)庫(kù)文件了。
以上的方式是采用動(dòng)態(tài)庫(kù)編譯ffmpeg的,如果在configure的時(shí)候不加上--enable-shared的,則采用靜態(tài)鏈接的方式,不會(huì)生成那三個(gè)動(dòng)態(tài)庫(kù)。同時(shí)生成的ffplay、ffmpeg的執(zhí)行文件也比較的大,因?yàn)樗麄儾恍枰獎(jiǎng)討B(tài)庫(kù)的支持,就可以執(zhí)行。但是不利于再次開(kāi)發(fā),所以我采用動(dòng)態(tài)鏈接的方式。configure中還有很多的選項(xiàng),可以通過(guò)./configure --help查看,也可以直接查看configure文件。這在配置的時(shí)候很重要。
總結(jié)
以上是生活随笔為你收集整理的Linux ffmpeg的安装编译过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: adams功能区不显示_百科Esri大赛
- 下一篇: ffmpeg的编译大全