【HEVC学习与研究】40、X265的下载和编译

简介: 【因工作需要,开始研究一下X265的基本使用方法。由于对HEVC的算法、概念的完全理解尚需时日,因此暂时只是考虑一下如何对x265进行下载、编译和测试方法,内部代码的实现未来再进行研究。

【因工作需要,开始研究一下X265的基本使用方法。由于对HEVC的算法、概念的完全理解尚需时日,因此暂时只是考虑一下如何对x265进行下载、编译和测试方法,内部代码的实现未来再进行研究。】

1、安装cmake

在官网下载最新版本即可。截至本文的时间的最新版本为3.2.1版。

2、安装yasm和vld

也是在官网下载即可。

2、下载x265的源代码

下载地址:https://bitbucket.org/multicoreware/x265/downloads/

下载解压后,内容如下所示:


3、生成工程文件

我们使用visual studio2013进行开发,所以在build\vc12-x86_64目录下运行build-all.bat。如果是32位环境则可以选择vc12-x86。然后脚本运行会如下图所示:


然后cmake会启动,弹出如下对话框:


选择config后,选择generate,此时cmake显示以下情况:


同时可见工程文件已经生成:


关闭cmake窗口正式开始进行编译。编译完成后命令行窗口关闭,在目录下的release和debug文件夹中生成了编译好的二进制文件:


将一个原始的yuv序列放到该目录下,用命令行编译:

x265.exe --input=BasketballDrill_1920x1080_50.yuv -o str.bin --input-res=1920x1080 --fps=50 --bitrate=2000 -f 100
编码的结果:


在当前目录下生成了str.bin这个二进制文件就是x265编码完成的码流。我们用参考代码hm10.0进行解码试验一下。将str.bin拷贝到解码器的二进制目录下,用批处理文件进行解码:

TAppDecoder.exe -b str.bin -o dec.yuv


在命令行中可以看到解码的过程如下:



解码完成后,dec.yuv已经保存在了当前目录下。用YUVPlayer播放:


右图为原始序列,左图为解码序列。二者的差异看下图:


事实证明,x265是一个很有效的H.265编码器。在未来的研发和测试工作中,可以依照这个流程进行编码器性能的测试。

目录
相关文章
|
6月前
|
Android开发 计算机视觉 C++
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
音视频编程对许多程序员来说是一片充满挑战的领域,但借助如OpenCV、LearnOpenGL、FFmpeg、OBS Studio及VLC media player等强大的开源工具,可以降低入门门槛。这些框架不仅覆盖了计算机视觉、图形渲染,还包括多媒体处理与直播技术,通过多种编程语言如Python、C++的应用,使得音视频开发更为便捷。例如,OpenCV支持跨平台的视觉应用开发,FFmpeg则擅长多媒体文件的处理与转换,而VLC media player则是验证音视频文件质量的有效工具。
133 0
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
|
9月前
|
Linux 编解码 Python
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
AV1是一种高效免费的视频编码标准,由AOM联盟制定,相比H.265压缩率提升约27%。各大流媒体平台倾向使用AV1。本文介绍了如何在Linux环境下为FFmpeg集成AV1编解码库libaom、libdav1d和libsvtav1。涉及下载源码、配置、编译和安装步骤,包括设置环境变量以启用这三个库。
371 3
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
|
10月前
|
编解码 5G Linux
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
AVS3是中国首个8K及5G视频编码标准,相比AVS2和HEVC性能提升约30%。解码器libuavs3d支持8K/60P视频实时解码,兼容多种平台。《FFmpeg开发实战》书中介绍了在Windows环境下如何集成libuavs3d到FFmpeg。集成步骤包括下载源码、使用Visual Studio 2022编译、调整配置、安装库文件和头文件,以及重新配置和编译FFmpeg以启用libuavs3d。
146 0
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
|
10月前
|
编解码 Linux 5G
FFmpeg开发笔记(二十)Linux环境给FFmpeg集成AVS3解码器
AVS3,中国制定的第三代音视频标准,是首个针对8K和5G的视频编码标准,相比AVS2和HEVC性能提升约30%。uavs3d是AVS3的解码器,支持8K/60P实时解码,且在各平台有优秀表现。要为FFmpeg集成AVS3解码器libuavs3d,需从GitHub下载最新源码,解压后配置、编译和安装。之后,重新配置FFmpeg,启用libuavs3d并编译安装,通过`ffmpeg -version`确认成功集成。
180 0
FFmpeg开发笔记(二十)Linux环境给FFmpeg集成AVS3解码器
|
API
《FFmpeg原理》第一版完成了
《FFmpeg原理》是一本音视频入门书籍,第一版是以 FFmpeg-n4.4.1 源码来分析写作的。
432 0
《FFmpeg原理》第一版完成了
|
Ubuntu 编译器 Windows
Qt开发笔记之编码h264码流并封装mp4(五):ubuntu平台编译x264
Qt开发笔记之编码h264码流并封装mp4(五):ubuntu平台编译x264
Qt开发笔记之编码h264码流并封装mp4(五):ubuntu平台编译x264
FFmpeg开发笔记(十一):ffmpeg移植到海思HI35xx平台之将ffmpeg库引入到sample的demo中
FFmpeg开发笔记(十一):ffmpeg移植到海思HI35xx平台之将ffmpeg库引入到sample的demo中
FFmpeg开发笔记(十一):ffmpeg移植到海思HI35xx平台之将ffmpeg库引入到sample的demo中
|
存储 编解码 Ubuntu
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台mingw32编译x264库
|
编解码 算法 数据安全/隐私保护
视频压缩工具ffmpeg的使用
这篇文章中的视频压缩非常适用于教学视频的压缩,因为教学视频中很多帧数的内容都是相同的。 本文作者的CPU是E5-2670,8核16线程。视频压缩工具ffmpeg可以充分利用多线程性能。
3300 0