小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【FFmpeg】Windows下64位ffmpeg編譯

 鷗友 2018-01-02

  本文主要記錄在64位Windows 7下,編譯64位ffmpeg的過(guò)程。

1.資源準(zhǔn)備

  (1). MSYS http:///projects/mingwbuilds/files/external-binary-packages/

  (2). MinGW-w64 http://www./mingw/

  (3). SDL http://www./download-1.2.php

  (4). x264 http://www./developers/x264.html

  (5). FFmpeg http://www./download.html

  MinGW-w64中已經(jīng)包含Yasm,因此不需要額外準(zhǔn)備Yasm。

2.軟件安裝

(1). MinGW+Msys安裝

  下載MSYS,解壓到E:/ffmpeg64/msys目錄。

  下載MinGW-w64,解到E:/ffmpeg64/msys/mingw64目錄。

  啟動(dòng)msys.bat,打開(kāi)類似于Linux的終端,并導(dǎo)入mingw64的環(huán)境變量。

echo 'export PATH=.:/local/bin:/mingw64/bin:/bin' > .profile
source .profile

(2). SDL安裝

  下載SDL1.2.14,解壓到E:/ffmpeg64/SDL-1.2.14目錄。

  進(jìn)入SDL-1.2.14目錄,依次執(zhí)行: 

./configure --host=x86_64-w64-mingw32
make 
make install

  編譯過(guò)程中,出現(xiàn)如下錯(cuò)誤:

  

  查看SDL_dx5video.c源代碼,如下圖所示,可以看出啟用預(yù)定義NONAMELESSUNION,則會(huì)引用u1、u2的結(jié)構(gòu),出現(xiàn)上述錯(cuò)誤。

  解決方法是去除預(yù)定義NONAMELESSUNION,具體代碼修改參考:http://hg./SDL/rev/eada7e321df6

  

  另一種簡(jiǎn)便的解決方法是更換SDL庫(kù),換成SDL-1.2.15或SDL-2.0.3。由于ffplay.c主要是利用SDL-1.2的接口實(shí)現(xiàn),若使用SDL-2.0.3,則需要修改ffplay.c的源代碼,因此,本文利用SDL-1.2.15重新編譯,生成SDL庫(kù),安裝過(guò)程和安裝SDL-1.2.14一樣。

  完成編譯過(guò)程,但在安裝(make install)出現(xiàn)如下錯(cuò)誤,提示“系統(tǒng)找不到指定的文件”,但是/bin/install和sdl-config都是存在。

  

   查詢相關(guān)資料后,發(fā)現(xiàn)出錯(cuò)的原因可能是終端在解釋路徑出錯(cuò),如:http://mingw-users.1079350.n2./Problem-with-ranlib-while-running-make-install-for-SDL-td3282130.html。當(dāng)MinGW+Msys和Cygmin同時(shí)存在時(shí),會(huì)出現(xiàn)路徑?jīng)_突的問(wèn)題,在Cygmin中,根目錄"/"被解釋為當(dāng)前目錄的根目錄,即”E:/",Cygmin會(huì)將"/bin/install"解釋為"E:/install",因而出現(xiàn)“系統(tǒng)找不到指定的文件”的錯(cuò)誤。

  解決方法:修改Makefile文件,重新設(shè)置install的路徑。

  

(3). x264安裝

  下載x264,解壓到E:/ffmpeg64/x264目錄下。

  進(jìn)入x264目錄,依次執(zhí)行:

./configure --host=x86_64-w64-mingw32 --enable-shared
make 
make install

(4). FFmpeg安裝

  下載FFmpeg1.2,解壓到E:/ffmpeg64/ffmpeg1.2

  進(jìn)入ffmpeg目錄,依次執(zhí)行:

./configure --enable-gpl --enable-libx264 --enable-shared --enable-static --arch=x86_64 --extra-cflags='-I/local/include -I/local/cross-tools/i386-mingw32/include/SDL' --extra-ldflags='-L/local/lib -L/local/cross-tools/i386-mingw32/lib'
make 
make install

  --extra-cflags用于指定頭文件路徑,--extrac-ldflags用于指定庫(kù)文件路徑。

  注意:一定要指定SDL庫(kù)和x264庫(kù)的頭文件和庫(kù)文件路徑。

(5). 驗(yàn)證安裝

  驗(yàn)證生成ffmpeg工具是否可執(zhí)行,利用ffplay播放視頻文件,查看是否可以正常播放。

  

  驗(yàn)證生成的動(dòng)態(tài)庫(kù)和可執(zhí)行程序是否是64位,利用dumpbin查看動(dòng)態(tài)庫(kù)和可執(zhí)行程序的屬性信息。

  

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多