最簡單的視訊編碼器 編譯(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命令列程式Windows下編譯獲得lib類庫步驟(生成libx264.lib)1. 生成“*.def”檔案。輸入“./configure”命令的時候,將“./configure”後面加上引數,改為:Libx264.a:可以用於程式開發的編碼H.264的類庫
./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原始碼目錄,輸入以下命令:即可生成libx264.lib用於在VC下開發。LIB /DEF:libx264.def
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瀏覽整個解決方案。可以右鍵解決方案,選擇“生成解決方案”批量編譯其中所有的工程。