记录学习过程,如果能给其他人带来帮助那就更好了。
废话少说。
https://github.com/videolan/x265
从上述地址上直接download 源码。
- 创建VS工程
x265相比于x264,对喜欢用VS调试代码的用户来说更加友好(x264早期的版本还可以直接使用VS,之后就比较麻烦了),CMakelist直接写好了,x265连生成VS工程的bat文件都写好了,不需要用户在打开CMake,然后手动转换成VS工程了,这点很赞。
解压完压缩包之后,文件夹内容就长这个样了.
进入到build
选择适合自己的版本,进入其文件夹,里面有两个bat文件,make-solutions.bat 是用来创建VS工程的,点击这个bat之前首先要保证你的PC上已经安装了CMake。批处理的工程中会开启CMake
其他配置不用管,我们只需要点击“Configure”和“Generate”
到此为止,VS工程就创建成功了,是不是很方便呢!!
- 编译VS工程
打开工程,将cli设置为startup 默认solution.
直接build就好了,cli和其他lib之间有依赖关系,所以依赖也会自动编译的。
在我的机器上编译的时候出现了pow函数的错误。修改如下
修改之后一路顺风。
编译成功。
- 将YUV压缩为H265
我使用的是VS调试的,在IDE的命令行参数处填入指定的输入参数,其实也就是输入,输出,分辨率,帧率这些参数。高级功能还不会用。
打开cli 的属性页,如下图所示,输入命令行参数。
直接Ctrl+F5就跑起来了。很顺利。
- x265和x264 performence 简单对比
输入 | 编码器 | 编码时间 | 编码后Stream的size |
paris_cif.yuv | H264 | 10s | 2790KB |
paris_cif.yuv | H265 | 92.43s | 731KB |
输入相同,其他都是用默认参数,H265压缩的时间是很长的,这也跟压缩性能是关联起来的。毕竟算法复杂度上去了。压缩比大大的提高了。