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

分享一下我老師大神的人工智能教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

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

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

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

最簡單的視頻編碼器:基於libx264(編碼YUV爲H.264)

最簡單的視頻編碼器:基於libx265(編碼YUV爲H.265)

最簡單的視頻編碼器:libvpx(編碼YUV爲VP8)

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

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

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

 

X264 



網站:http://www.videolan.org/developers/x264.html

源代碼獲取地址:

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 


網站2:https://bitbucket.org/multicoreware/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


網站:http://www.webmproject.org/

源代碼獲取地址:

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瀏覽整個解決方案。可以右鍵解決方案,選擇「生成解決方案」批量編譯其中所有的工程。

 
           

給我老師的人工智能教程打call!http://blog.csdn.net/jiangjunshow

這裏寫圖片描述