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