H.266/VVC学习1- VTM6.0的安装和使用
H.266/VVC学习1 VTM6.0的安装和使用
现在学习的是视频压缩编码方向的,将平时所学知识记录下来,一来可供自己复习使用 二来,感兴趣的同学可以一起交流一下。
国际视频编码最新标准H.266/VVC在H.265/HEVC基础上,采用新的编码工具来提升编码效率。
一、版本介绍
:
VS版本是VS2017
VTM版本是 VTM6.0
需要注意的是VTM在使用前,需要用cmake编译工具
(CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处:以上来自百度百科)
标题由于在官网上下载很慢,我把百度云链接放在下面,共有需要的同学使用链接:
Cmake软件
链接:https://pan.baidu.com/s/1ZYIpJayaS3xjHAZHyiIsQQ
提取码:q77x
VTM6.0:
https://pan.baidu.com/s/1MXAhSJKaMzs2IqfPAB0Rzg
提取码:z9v2
VTM6.0下载,打开后
注意:这个里面没有bulid文件,使用Cmake编译后,会在bulid里面生成相应的编译文件
二、Cmake部分
1.下载Cmake软件
2.配置环境变量
3.打开Cmake软件
下面具体介绍上图中的数字具体步骤和含义
1.
是你VTM版本安装的位置可以手动输入,也可以点击右边窗口Browse Source进入
2
.第二步 同样是你VTM安装的根目录 但是后面要加上bulid文件夹的路径,这个文件夹可以在VTM中提前建好,这时候可以直接访问。也可以在这一步操作的时候建立。这个文件夹是最终编译结束时生成文件的地方
3.
点击
开始配置
此过程需要注意尽量选择和你VS相同的版本,
4点击
.生成一下
到此为止cmaked部分已经完成了
三、用VS对.sln文件进行编译
1.结束后打开VTM的build会有如下
2.打开build文件,会看到如下界面
3.用VS打开.sln文件
4.将上面两个全部设置为启动项
5.然后编译,打开bin文件夹。会看到 会生成两个
6.(注意)我这里分别用debug/release运行了一下。
下面两个主要取决于你上面的选择,但是Release运行速度会快点
四、对视频序列进行实际的编码操作
1.接下来要进行对视频序列进行编解码操作:
首先为了下面的具体操作,下面给出几个视频序列这个视频序列网上可以找到的,但是有点困难。这里为了方便大家研究 直接百度云给出
链接:https://pan.baidu.com/s/1n_CqfbwybnGFed1XYkfslg
提取码:b8lr
打开cfg文件
2、其中这里面存放的是视频序列的配置信息
3.建一个文件test42(名字可以自己随便取)夹存放等下生成的文件。同时将相关的文件拷贝进来。如下图所示:
这个是不是有点熟悉呢,对这就是之前生成的4.将上面的视频序列的cfg文件的内容拷贝到encoder_intra_vtm.cfg的里面。如下图所示
5.一切准备工作完成后接下来我们要做最后一步Encoder.app属性页调试栏中的命令参数和工作目录
1.-c eencoder_intra_vtm.cfg - c BasketballPass.cfg
2.这就是之前建立的文件夹test42
6.配置结束之后,重新开始编译,
(注意)编码过程比较慢,可能50帧都好久,和电脑配置也有一定的关系。要耐心等待
这里本来有好多帧,我只是让编码器跑了前几帧
由于我是自学的,在看了许多大佬的博客之后,才成功的实现。对此非常感谢。