hevc/265 开源项目及相关

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过程记录

工作环境 OSwindows 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

x264x265ffmpeg等都需要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编译配置选项

x264x265编译后的头文件,静态库文件copy/usr/local/对应的目录下


tyd.sh文件copyffmpeg-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依赖的第三方库已经正确的配置好了libx264libx265

4.编译ffmpeg项目

到这一步基本上大功告成了,只需要执行make && make install即可。

最后可以在目录output下找到编译的结果。



编解码技术学习网站汇总

1.音视频开源

1.1 FFMPEG

Ffmpeg Basic http://ffmpeg.tv/

1.2 H264/AVC

1.3 H265/HEVC

1.HM(HEVC test Model)

团队名称 Joint Collaborative Team on Video Coding (JCT-VC) 
编解码器SVN URL
其他很多HEVC开源都是基于该基础上开发的,例如X265,OpenHevc

2.X265 

基于HM开发的多线程版本编码器,开发团队有部分原X264开发成员,主导公司是Multicoreware

3.OpenHEVC

只是一个解码库,目前没有支持编码。基于ffmpeg/libav框架写的,解码器技术也采用了HM

1.4 流服务器

2. ITU-T的Recommendation

ITU-T官方网站主页:

标准的下载列表:

打开列表后,根据标准的分类号点击对应的字母,进入这个系列的文档。例如需要找H263的标准文档时,只要点击H,然后在打开的子列表中找到H.263,再点击进入,就可以获取到这个标准以及附件(如源代码或者Appendix)。部分收费文档在这个列表下无法找到。

3.IETF的RFC标准文档

IETF官方网站主页:

我一直访问而且整理的比较好的网站,这里可以下载到pdf版本。

上面的网站可能找不到部分协议号比较高的文档,可以到下面的链接中找到:



  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于HEVC视频算法的代码,我无法直接提供完整的代码,因为这需要相应的开发和编程技能。然而,根据引用内容,可以了解到有关HEVC视频算法的一些关键点。 引用提到了一种HEVC帧内快速编码算法,该算法通过提前跳过或中止部分尺寸的编码单元(CU)的划分,减少CU深度遍历区间,从而降低帧内编码复杂度。 引用提到了一种基于帧内预测模式和分组码的HEVC视频信息隐藏方法,该方法利用分组码的标准阵列译码方法,实现在HEVC视频中隐藏信息的目的。 引用提到了将HEVC视频解码软件移植到TI C6678多核处理器上,并进行代码优化的相关工作。 基于以上引用内容,如果你对HEVC视频算法代码感兴趣,可以参考相关的研究论文、学术资料或开源项目,这些资源可能会提供更详细的算法实现细节和代码示例。同时,你也可以了解相关的编程语言和多媒体处理库,如C/C++和ffmpeg等,这些库提供了一些HEVC视频编码和解码的接口和函数,可以作为参考和实现的基础。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [一种低复杂度的HEVC帧内快速编码算法](https://download.csdn.net/download/weixin_38721405/16586777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [HEVC帧内预测模式和分组码的视频信息隐藏](https://download.csdn.net/download/weixin_38663415/16601803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于TI C6678多核处理器的HEVC视频解码软件设计](https://download.csdn.net/download/qirui24432/10518585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值