編譯這個東西真的很糾結,也很辛苦啊,但總算成功了,相當高興呵呵,下面的內容是參加一下網站上的博客,我根據我的實踐補充一下:
ffmpeg 是很強大的編解碼庫,可以編解碼視頻和音頻。通俗的說是可以做播放器。我的是Ubuntu Linux 11.04(我覺得Linux版本沒有什么關系,只不過是SDL庫對ffplay的生成很重要)
下面是安裝步驟:
我們從官方下載 FFmpeg 0.8.7 "Love"版本: http:///releases/ffmpeg-0.8.7.tar.gz
(其他低于這個版本ffmpeg生成的ffplay視頻音頻不同步。)
然后按照以下步驟進行安裝:
1、安裝SDL庫(不安裝將沒有ffplay)(如果自己去下載SDL源碼然后make install安裝的庫,編譯ffmpeg可以產生ffplay,但是產生的ffplay播放視頻沒有聲音。而且不能播音頻)。以及其他的一些庫。
$sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libMP3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev
(subversion和git-core 是軟件管理工具,安裝了可以方便下載源碼,他們就是對應的svn和git)
2、裝x264(需要通過源碼進行安裝)
$git clone git://git.videolan.org/x264.git
$cd x264
$./configure
$make
$sudo make install
3、解壓ffmpeg-0.8.7.tar.gz
$cd ffmpeg-0.8.7
$./configure --enable-memalign-hack --enable-static(如果不行試試$./configure --enable-memalign-hack --enable-ffplay)
遇到問題:直接make之后沒有生成ffplay
運行 configure 會生成 config.mak、config.h 和 libavutil/avconfig.h 這幾個文件,里面決定了 ffmpeg 編譯哪些模塊、是否開啟某些特性等。
查看config.mak文件,找到 CONFIG_FFPLAY 一行,發現前面總是有! 結果make 怎么都出錯,報告ffplay.c編譯錯誤
解決:重裝了SDL
Ubuntu的新得立已經包含SDL庫,所以通過幾個簡單的命令就可以安裝,比windows還傻瓜!
sudo apt-get install libsdl1.2-dev(比較大,10M左右)
附加包:
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install libsdl-gfx1.2-dev
安裝完成之后,在目錄/usr/include中,就會有個SDL文件夾,里面包含了所需要的頭文件。
再次./configure --enable-memalign-hack --enable-ffplay
4、編譯
$make
$sudo make install
現在發現終于OK啦!
5、測試
$./ffplay hello.mpg
可以看到視頻啵?可以聽到聲音啵?
嘿嘿,可以吧!
參考