FFmpegWindows環(huán)境配置
在Windows環(huán)境下編譯FFmpeg需要搭建類linux環(huán)境,可以使用的類Linux有兩種,分別是MinGW和Cygwin,F(xiàn)Fmpeg在Windows下環(huán)境配置相比較Linux比較繁瑣。
MinGW環(huán)境配置比較復(fù)雜,很多軟件需要手動安裝配置,并且配置好環(huán)境后編譯完FFmpeg完成時沒有ffserver可執(zhí)行文件。根據(jù)網(wǎng)上資料和建議,編譯ffserver需要的依賴很多,并且需要腳本,相對繁瑣,選擇Cygwin環(huán)境就會簡單很多,所以下文描述的是用Cygwin環(huán)境編譯FFmpeg。
安裝Cygwin首先去官網(wǎng)https://cygwin.com/index.html下載安轉(zhuǎn)器setup-x86.exe或setup-x86_64.exe,具體根據(jù)自己的系統(tǒng)位數(shù)決定,剩下的步驟就是運行安裝器,根據(jù)安裝器的提示安裝Cygwin環(huán)境。
Cygwin安裝需要注意兩個點:鏡像的選擇和安裝步驟。
安轉(zhuǎn)器其中一個步驟是選擇下載軟件的鏡像,最好選國內(nèi)鏡像源,原因是速度快,一般選擇163,當(dāng)下載或安裝失敗時可以換其他源(比如http://mirrors.kernel.org)。
安裝器默認是沒有163鏡像的,需要手動添加,在鏡像選擇界面添加163鏡像,地址是http://mirrors.163.com/cygwin/,如下圖1.1.1所示:

圖1.1.1 Cygwin添加鏡像
然后點擊“Add”按鈕即可,此時163鏡像源就在列表中了,就可以選擇并點擊“下一步”使用,添加后如下圖1.1.2所示:

圖1.1.2 使用163鏡像源
根據(jù)本人安裝經(jīng)驗,第一次安裝不要自行選擇任何軟件安裝,直接一直下一步,安轉(zhuǎn)完成后只有類Linux環(huán)境,即只有基本的Linux命令,沒有g(shù)cc和make等命令,這些軟件等以后再安裝,首先保證類Linux環(huán)境安裝完成。第一次安裝不要自行選擇任何軟件安裝即在第一次安裝Cygwin時,在選在安裝軟件界面時不要選擇,用默認配置,如下圖1.2.1所示,直接下一步即可。

1.2.1 選擇安轉(zhuǎn)軟件界面
安裝完Linux環(huán)境后就熟悉了Cygwin安裝器的使用步驟,軟件安轉(zhuǎn)就簡單了,只需要在選擇安轉(zhuǎn)軟件界面(圖1.2.1)搜索需要安裝的軟件名,如gcc安裝,如下圖1.2.2所示:

圖1.2.2 搜索軟件(GCC)界面
此時就會出現(xiàn)搜索到的軟件,需要安裝時點擊對應(yīng)軟件前的符號,如果不知道搜索到的軟件的相互依賴,可以點擊最上邊的“ALL”后的符號,使“ALL”后的“Default”變?yōu)椤癐nstall”全部安裝,此時可能安裝一些不需要的軟件包,需要的時間可能會很長(與網(wǎng)速有關(guān)),如下圖1.2.3所示:

圖1.2.3 GCC安裝
配置友好環(huán)境,修改/etc/PRofile文件,添加:
alias ls="ls --color=tty --show-control-chars" alias ll="ls -l" alias la="ls -a" |
搭建好類Linux環(huán)境后實際上就可以編譯FFmpeg了,只是此時編譯的FFmpeg可能沒有ffplay或不能使用ffplay,因為缺少一些依賴庫,比如SDL庫,要完整的編譯FFmpeg,需要安裝這些依賴,安裝方法與安裝GCC一樣,參考1.2節(jié),此處不再贅述。
此處編譯的FFmpeg版本是3.1,可以在官網(wǎng)或Git上下載。
安裝Cygwin后會在桌面或開始菜單生成CygwinTerminal圖標,Cygwin Terminal類似Linux下的Shell,下文中的指令均在Cygwin Terminal中執(zhí)行。
編譯FFmpeg只需要兩步:configure和make。編譯FFmpeg步驟在官網(wǎng)及網(wǎng)絡(luò)上都有很多資料,很詳細,此處主要說明遇到的問題及處理方法。
在FFmpeg源碼目錄下執(zhí)行如下命令:
$ ./configure --disable-yasm --enable-nonfree --enable-filters --enable-avresample |
此時如果出錯,根據(jù)提示解決問題,比如下面的一些問題。
缺少SDL庫,此時編譯的文件中沒有ffplay,如下圖2.1.1所示,此時需要安裝SDL,方法見1.2節(jié)。

圖2.1.1 缺少SDL庫信息
缺少pkg-config軟件,如下圖2.1.2所示,此時可以用1.2節(jié)的方法安裝,也可以忽略,因為在安裝SDL庫時會自動安裝pkg-config,如果最后還提示再單獨安裝。如果SDL已經(jīng)安裝可能就不會有此警告。

圖2.1.2 缺少pkg-config警告
Configure執(zhí)行完后執(zhí)行make指令:
$ make |
等待執(zhí)行結(jié)束,查看編譯的可執(zhí)行文件。
如果上一步2.1節(jié)完成,可以執(zhí)行以下指令安裝FFmpeg到系統(tǒng)中(類Linux系統(tǒng)中,非Windows系統(tǒng))。
$ make install |
此時由于configure沒有指定安裝目錄,所以FFmpeg安裝到/usr/local目錄下,如果為了系統(tǒng)安全,可在configure通過--prefix選項指定安裝目錄,configure指令更新為:
$ ./configure --prefix=/home/0001/install/bin --disable-yasm --enable-nonfree --enable-filters --enable-avresample |
此時需要重新make,再執(zhí)行make install,此時FFmpeg將安裝在/home/0001/install/bin目錄,此目錄可自行指定,然后將該目錄添加到系統(tǒng)路徑中,如修改/etc/profile文件,添加:
export PATH=$PATH:${HOME}/install/bin |
新聞熱點
疑難解答