1. 程式人生 > >最簡單的視訊編碼器 編譯(libx264,libx265,libvpx)

最簡單的視訊編碼器 編譯(libx264,libx265,libvpx)

               

=====================================================

最簡單的視訊編碼器系列文章列表:

最簡單的視訊編碼器:編譯

=====================================================

最近研究了一下幾種常見的視訊編碼器:x264,x265,vpx。本文簡單記錄一下它們的編譯方法。

x264,x265,vpx這三個開源的視訊編碼器可以說是當今“最火”的視訊編碼器。x264現在佔據著H.264視訊編碼器的半壁江山;x265則是目前實現H.265標準最好的開源視訊編碼器,並且在未來可能接替x264;而vpx則是Google推出的開源視訊編碼器,它提出的VP9編碼標準的效能也不錯。在記錄完這篇文章後,計劃分別針對x264,x265,vpx寫三篇文章記錄它們的使用方法。

 

X264 

原始碼獲取地址:

git clone git://git.videolan.org/x264.git
 注意編譯前需要安裝yasm。 

Windows下最簡單編譯步驟(MinGW)

1.下載安裝MinGW,執行後切換至原始碼目錄

2.輸入 "./configure"3.輸入"make"4.輸入"make install"安裝(可選) 

Linux下最簡單編譯步驟:

1.切換至原始碼目錄

2.輸入 "./configure"3.輸入"make"

4.輸入"make install"安裝(可選)

編譯後生成:

x264.exe:可以直接使用的編碼H.264命令列程式

Libx264.a:可以用於程式開發的編碼H.264的類庫

Windows下編譯獲得lib類庫步驟(生成libx264.lib)1.       生成“*.def”檔案。輸入“./configure”命令的時候,將“./configure”後面加上引數,改為:
./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
這樣可以生成“libx264.dll”,“libx264.def”檔案。2.       使用VC自帶的lib生成工具“LIB”,生成“libx264.lib”檔案。使用“Visual Studio command prompt”,切換至x264原始碼目錄,輸入以下命令:
LIB /DEF:libx264.def
即可生成libx264.lib用於在VC下開發。

X265 

原始碼獲取地址:
hg clone http://hg.videolan.org/x265
 注意編譯前需要安裝:(1)yasm。(2)CMake。 Windows下最簡單編譯步驟(VC2010)1.使用CMake生成x265.sln 檔案。具體是在其程式碼根目錄的“build”資料夾中,找到想要生成的“.sln”的版本。

以本機為例,開啟“vc10-x86”,執行其中的“make-solutions.bat”,即可生成VC2010的32位的解決方案檔案。中間會彈出一個CMake的配置對話方塊,如圖所示。可以直接先單擊“Configure”,然後單擊“Generate”即可。

2. 用VC開啟生成的x265.sln,即可編譯程式。可以右鍵解決方案,選擇“生成解決方案”批量編譯其中所有的工程。

編譯後生成:

x265.exe:可以直接使用的編碼H.265的命令列程式

libx265.dll,libx265.lib:可以用於程式開發的編碼H.265的類庫(lib和dll分開)

x265-static.lib::可以用於程式開發的編碼H.265的類庫(單獨一個lib)

 

VPX

原始碼獲取地址:

git clone https://chromium.googlesource.com/webm/libvpx

上述地址有可能訪問不了,可以使用下面的映象地址:

git clone https://github.com/webmproject/libvpx
注意編譯前需要安裝yasm。 

Windows下最簡單編譯步驟(MinGW)

1.下載安裝MinGW,執行後切換至原始碼目錄2.輸入 "./configure"3.輸入"make" Linux下最簡單編譯步驟1.切換至原始碼目錄2.輸入 "./configure"3.輸入"make"

編譯後生成:vpxdec.exe:可以直接使用的解碼VP8,VP9命令列程式vpxenc.exe:可以直接使用的編碼VP8,VP9命令列程式libvpx.a:可以用於程式開發的編碼VP8,VP9的類庫

Windows下編譯獲得各個專案VS2010解決方案的步驟

1.       configure的時候設定“—target”為“x86-win32-vs10”

./configure --target=x86-win32-vs10

2.       用VC開啟生成的vpx.sln,即可用VS瀏覽整個解決方案。可以右鍵解決方案,選擇“生成解決方案”批量編譯其中所有的工程。