windows下編譯配置x264

來源:互聯網
上載者:User

最近項目需要開發網路視頻應用,因為視頻要編碼,選擇使用h.264進行編碼,從網上找到x264這個庫使用,但是不幸的是這個庫是linux下的,但是我們的應用需要部署在windows系統上,故我只能自己編譯成動態連結程式庫來使用了,從網上找了好多方法,但是發現都不太好用,到我這老是出問題,特在此將我自己的配置過程記錄下來。

我採用的mingw進行編譯的方式

首先從網上下載mingw,地址http://sourceforge.net/projects/mingw/,下載下來之後進行安裝,到選擇安裝模組的時候,選擇所有的模組,如所示:圖中顯示不全,需要將捲軸向下滑動,選中所有的。

之後進行安裝,這個安裝是線上的,需要進行一段時間,趁著這個時間我們可以把其他需要的工具下載下來。

從x264的官網下載x264的原始碼,http://www.videolan.org/developers/x264.html,下載下來後解壓到任意位置,之後下載一個叫yasm的軟體,因為在編譯x264的時候會用到,地址:http://yasm.tortall.net/Download.html,下載win32版的,如果下載下來的名字不為yasm.exe,將其改名為yasm.exe,此時差不多mingw也安裝好了,將yasm拷貝到mingw檔案夾下的bin檔案夾下,比如我的是C:/mingw/bin。

接下來,進行最重要的一步,將mingw添加進環境變數,否則會出問題,可以使用命令列,也可以使用介面直接設定。命令列使用如下:開啟cmd 輸入setx MSYS_HOMEc:/mingw/bin,一定要把目錄位址設定為自己的mingw的安裝資料夾的位置。或者使用介面設定,右鍵電腦->屬性->進階系統設定->環境變數,添加一條新的。

這時,運行mingw檔案夾下msys/1.0/msys.bat,然後就能看到如所示介面,通過命令列切換到x264原始碼所在目錄。

然後輸入./configure--enable-shared不出意外地話就能成功了,然後輸入make,趁著make的時間我們再來下載一個工具用來將dll匯出lib,這個工具名字叫做poxports,下載連結:http://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/,下載之後將poxports.exe放在/mingw/bin目錄下,然後等make成功之後執行下面的命令:

pexports d:\\libx264-120.dll >d:\\libx264-120.def

之後開啟cmd,切換到x264原始碼所在的目錄,輸入以下命令:(執行這條命令必須確保機器安裝了vs2008或者vs2010的vs tools)

lib /machine:x86 /def:libx264-132.def/out:libx264-32.lib

然後就能匯出libx264-132.dll和libx264-32.lib

用vs建立工程,將libx264-132.dll和libx264-32.lib放到工程目錄下,

從x264檔案夾下拷出x264.h與x264_config.h到工程目錄下,並添加到工程,

同時再工程設定中添加lib庫。編譯運行,ok。運行過程可能會提示缺少pthreadGC2.dll,

從網上下載一個就好了。

#include <iostream>

#include <string>

#include "stdint.h"

extern "C"

{

#include "x264.h"

#include "x264_config.h"

};

using namespace std;

int main()

{

x264_param_t param;

x264_param_default(&param);

return 0;

}

我覺得這個庫其實可以編譯好了之後直接拿來用就好了,不用每個人都自己編譯一遍的,

我將我自己編譯的結果進行了打包,但是今天卻不能傳到csdn上,所以有需要的可以留下郵箱,

我看到之後直接發你郵箱。等之後可以上傳了之後我就直接上傳上去。

關於具體的這個庫的使用我現在也不太會,等學習了之後再更新怎麼編程。

 

我把這個庫和我編譯好的ffmpeg庫都傳到了我的github上,需要的點擊這裡

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.