最近研究了一下幾種常見的視頻編碼器:x264,x265,vpx。本文簡單記錄一下它們的編譯方法。
x264,x265,vpx這三個開源的視頻編碼器可以說是當今“最火”的視頻編碼器。x264現在占據著H.264視頻編碼器的半壁江山;x265則是目前實現H.265標准最好的開源視頻編碼器,並且在未來可能接替x264;而vpx則是Google推出的開源視頻編碼器,它提出的VP9編碼標准的性能也不錯。在記錄完這篇文章後,計劃分別針對x264,x265,vpx寫三篇文章記錄它們的使用方法。
源代碼獲取地址:
git clone git://git.videolan.org/x264.git
Windows下最簡單編譯步驟(MinGW)
1.下載安裝MinGW,運行後切換至源代碼目錄
2.輸入 ./configureLinux下最簡單編譯步驟:
1.切換至源代碼目錄
2.輸入 ./configure4.輸入make install安裝(可選)
編譯後生成:
x264.exe:可以直接使用的編碼H.264命令行程序Windows下編譯獲得lib類庫步驟(生成libx264.lib)
Libx264.a:可以用於程序開發的編碼H.264的類庫
./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def這樣可以生成“libx264.dll”,“libx264.def”文件。
LIB /DEF:libx264.def即可生成libx264.lib用於在VC下開發。
網站2:https://bitbucket.org/multicoreware/x265
源代碼獲取地址:hg clone http://hg.videolan.org/x265
以本機為例,打開“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)
網站:http://www.webmproject.org/
源代碼獲取地址:
git clone https://chromium.googlesource.com/webm/libvpx
上述地址有可能訪問不了,可以使用下面的鏡像地址:
git clone https://github.com/webmproject/libvpx
注意編譯前需要安裝yasm。
Windows下最簡單編譯步驟(MinGW)
1.下載安裝MinGW,運行後切換至源代碼目錄
編譯後生成:
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浏覽整個解決方案。可以右鍵解決方案,選擇“生成解決方案”批量編譯其中所有的工程。