1.X265
個是有兩個版本,一個是國內人搞的,是國外公司搞的
1.國外公司版本
只是一個編碼器,目前沒有支持解碼
開發語言 c++
web url: www.x265.org
source url:?https://bitbucket.org/multicoreware/x265
x265 is an open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format, and is released under the terms of the GNU GPL.
MulticoreWare公司發布x265預覽版。x265是HEVC/H.265標準的開源編碼器。根據相關網站作出的基準測試,和x264相比,x265的CPU占用率更高,相同比特率時畫質質量更高,視頻體積縮小近一半。
2.國人也搞了一個x265
code url (http://code.google.com/p/x265/)
作者blog地址?http://chenm003.blog.163.com/
2. openHevc
只是一個解碼庫,目前沒有支持編碼
開發語言 C ? 基于ffmpeg/libav框架寫的
source url:?https://github.com/OpenHEVC/openHEVC
GPAC url:?http://gpac.wp.mines-telecom.fr
openHEVC is a fork from smarter's libav git (smarter.free.fr) with only required files from libav to decode HEVC content. openHEVC in combination with GPAC is used into 3 research projects:
4EVER
H2B2VS
AUSTRAL
3 libde265
source url ?https://github.com/strukturag/libde265
德國公司 Stuttgarter Struktur AG發布了H.265編解碼器的開源實現——libde265,代碼發布在Github上,采用LGPL許可證授權
出于簡化和效率的考慮,libde265采用C語言編寫,其API很容易整合到其它軟件中。libde265還在開發之中,功能還不完整,只支持解碼幀內編碼幀。
H265 HM開源軟件
http://hevc.hhi.fraunhofer.de/
由德國fraunhofer研究生負責開發,為HEVC HM參考軟件HM維護單位,相當于HEVC標準的C++實現。
代碼下載
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/
X265開源庫也是基于H265 HM(H265 test Model)開發的開源庫
主要開發者擁有原來h264的主要開發者,主導公司是Multicoreware.
源代碼
https://bitbucket.org/multicoreware/x265/
VideoLan鏡像
https://github.com/videolan/x265
開發者列表
mingw編譯ffmpeg+x265過程記錄
工作環境?OS:windows?7
1.相關資源下載
Ffmpeg-2.3?????http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2
X265-1.3下載??https://bitbucket.org/multicoreware/x265/wiki/Home
http://ffmpeg.zeranoe.com/builds/source/external_libraries/
X264下載?http://ffmpeg.zeranoe.com/builds/source/external_libraries/
??
2.編譯x265-1.3
x264、x265、ffmpeg等都需要yasm編譯器,需要將yasm編譯器下載,復制到ming/bin目錄下。
X265需要安裝cmake來生產工程文件,需要下載最新的cmake-2.8.12版本,并安裝,注意需要將其安裝路徑加入windows環境變量的PATH變量下。
2.1?進入到x265/build/msys目錄,執行?make-Makefiles.sh
先點下面的configure,然后點generate即可,然后關閉,回到命令行。同上面的執行make?然后是?make?install。最后編譯成功應該可以找到對應的lib文件在/loacal/lib目錄下。
3.編譯ffmpeg-2.3
3.1.?Ffmpeg編譯配置選項
將x264、x265編譯后的頭文件,靜態庫文件copy至/usr/local/對應的目錄下
將tyd.sh文件copy值ffmpeg-2.3.3目錄下。運行tyd.sh腳步即可
3.2?運行編譯選項存在的問題
ERROR:?x265?not?found
3.2.1.?缺少pkg-config程序、缺少x265.pc文件
查看config.log日志文件,根據以下的錯誤信息,應該是缺少pkg-config程序,以及缺少對應的x265.pc文件。
pkg-config程序的安裝參考一下文章,或者直接下載pkg-config?copy到/ming/bin目錄下
pkg-config
安裝??http://blog.csdn.net/chaosllgao/article/details/3984462
下載??http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip
x265.pc文件copy?/usr/local/lib
可以通過pkg-config得到x265相關的文件信息。
3.2.2?config.log錯誤日志信息
a)?缺少gcc依賴庫
??如下圖所示,鏈接new\delete函數失敗,顯然是缺省gcc相關的函數導致
原因是msys版本的pkg-config不能正確讀取x265庫的依賴庫導致,需要手動添加
b)?奇怪的鏈接錯誤
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x34):?undefined?reference?to?`_Unwind_SjLj_Register'
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x87):?undefined?reference?to?`_Unwind_SjLj_Unregister'
c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc:(.text+0xb7):?undefined?reference?to?`_Unwind_SjLj_Resume'
通過分析查找,發現時上述鏈接使用的gcc函數庫與x265.exe使用的函數庫不一致的原因導致。本質原因還是pkg-config不能正確解析x265.pc文件所致,解決方案如下:
c)?正確執行configure配置的結果
可以看到ffmpeg依賴的第三方庫已經正確的配置好了libx264和libx265
4.編譯ffmpeg項目
到這一步基本上大功告成了,只需要執行make?&&?make?install即可。
最后可以在目錄output下找到編譯的結果。
編解碼技術學習網站匯總
1.音視頻開源
1.1 FFMPEG
http://www.ffmpeg.org/http://dranger.com/ffmpeg/Ffmpeg Basic http://ffmpeg.tv/http://www.libav.org/
http://www.videolan.org/developers/x264.html
1.3 H265/HEVC
1.HM(HEVC test Model)
團隊名稱 Joint Collaborative Team on Video Coding (JCT-VC)?資料 http://hevc.hhi.fraunhofer.de/編解碼器SVN URLhttps://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/其他很多HEVC開源都是基于該基礎上開發的,例如X265,OpenHevc2.X265?
基于HM開發的多線程版本編碼器,開發團隊有部分原X264開發成員,主導公司是Multicoreware源代碼 https://bitbucket.org/multicoreware/x265/VideoLan鏡像 https://github.com/videolan/x2653.OpenHEVC
只是一個解碼庫,目前沒有支持編碼。基于ffmpeg/libav框架寫的,解碼器技術也采用了HMsource url: https://github.com/OpenHEVC/openHEVC
1.4 流服務器
http://www.live555.com/http://www.rtmpd.com/
ITU-T官方網站主頁:
http://www.itu.int標準的下載列表:
http://www.itu.int/publications/publications.aspx?lang=en&parent=T-L&selection=2§or=2?打開列表后,根據標準的分類號點擊對應的字母,進入這個系列的文檔。例如需要找H263的標準文檔時,只要點擊H,然后在打開的子列表中找到H.263,再點擊進入,就可以獲取到這個標準以及附件(如源代碼或者Appendix)。部分收費文檔在這個列表下無法找到。
IETF官方網站主頁:
我一直訪問而且整理的比較好的網站,這里可以下載到pdf版本。
http://www.faqs.org/rfcs/
上面的網站可能找不到部分協議號比較高的文檔,可以到下面的鏈接中找到:
http://www.rfc-editor.org/rfc-index2.html
http://www.rfc-editor.org/rfc-index.html?
www.ietf.org