首先特别强调!

1.电脑中的路径名字不要带有空格!空格!空格!。2.不要带有中文。
发现对于VS的工程文件,或者CMD的命令执行文件时,不能识别以上路径。除非是word文档或者PPT文件,但以防以后自己会用该文件夹建立类似VS的工程文件,还是路径中都不要是上面的吧。

运行环境、软件版本等说明:
VTM:10.0版本
操作系统:Win10 64位操作系统
IDE:Visual Studio 2019
编译器:Cmake

1、VTM下载地址

下载网站

点击Repositary里的file,中间下拉菜单选择VTM的不同历史版本进行下载,我下载的是VTM10.0版本,然后点击右侧的下载按钮即可根据自己的要求下载不同压缩格式的代码。

2、解压缩后首先打开文件夹内readme.md文件查看编译方法

win系统下给了一个VS2019的编译运行方法,需要使用cmake在build文件夹的目录下通过控制台输入指令编译,如下图:

cmake .. -G "Visual Studio 16 2019"

3、根目录下没有build文件夹,新建一个新的,存放编译好的程序:

4、系统中缺少cmake,安装过程如下图,下载一个win64可运行的zip文件自动安装即可:

Cmake下载地址


**安装过程中需要把cmake加入系统Path中,**这样在安装结束后,可以打开cmd输入cmake查看一下是否安装成功:

查看版本成功说明安装成功

  输入cmake --version

5、cmake成功安装后,有以下两种方法进行编译:

1.①在cmd中进入之前建立好的build文件夹下输入相关语句进行编译:
此时根据readme中的编译提示,输入下方指令:

cmake .. -G "Visual Studio 16 2019"

提示Generating done之后即编译成功,编译成功后的代码在build文件夹下可以找到,如下图所示:

2. ②打开cmake-gui进行编译
第一步,其中source code处选择VTM整体项目的根目录即可,build后生成文件的地方选择之前建立的build文件夹即可。如下图:

补充坑点1:**路径中一定不要带有中文,路径中不要带空格,**一定要保证全英文路径,养成好习惯,不论会不会出问题,以后都最好要全英文路径,确实是后面在运行的过程中发现BUG提示中的中文路径乱码,可能是导致运行失败的原因。

第二步点击左下角的configure按钮,首先选择对应的VS版本。


第三步选择生成的目标平台,如下图:

坑点2:之后第二个选项中选择x64,否则默认的是win32,特别坑这里,尝试的过程中最后运行莫名其妙报错尝试了很多地方,最后突然想起来是不是最初编译版本有问题。

点击finish即可,再点击generate就大功告成了:

6、综上5中的两个方法,编译成功后在build文件夹下可以看到如下文件,打开其中的sln解决方案即可:


在VS中可以看到该软件的项目结构:

7、下面测试encoder不加任何参数的情况下的默认启动运行情况,先修改默认启动项目:

8、重新生成一下encoder项目:

9、Ctrl+F5试运行,运行结果如下图所示,运行成功:

10、接下来再在本地进行一个较少帧数的测试,尝试将一个视频序列其中较少的一些帧数编码再解码并且比对编解码前后的视频序列是否一致,该如何进行操作:

在VTM根目录下有一个cfg配置文件夹,如下图:

打开后可以发现,cfg内的结果如下图所示:

最下面有五个cfg文件,其中四个分别为AI、RA、LDP、LDB,即全帧内(AI)、随机接入(RA)、低延时P和B帧(LDP和LDB),根据自己视频编码的需要去选择并修改对应的cfg,以下的例子均使用AI(All Intra)模式。

上面的几个文件夹都是一些示例视频序列的配置例子,比如这个文件,是一个示例视频在cfg中的File I/O处的配置示例。

找到这个视频后之后,准备开始编解码测试,在此之前先在项目里建一个自己的测试文件夹,并用日期标注一下自己的测试时间,测试目的:

具体的相关路径见下图,然后把测试用的视频,还有AI模式的cfg配置文件全复制进去。然后通过notepad++等类似的软件打开cfg文件进行编辑:


如上图所示,在该文件IO和BitstreamFile之间,把之前那个文件夹里示例视频cfg的内容全部插入进去(注意修改文件路径),插入结果如下图:

这里修改后的AI模式的cfg文件和它的源文件的区别就是
1、把InputFile处,即视频的所在位置改成了实际存放的位置。

2、把FramesToBeEncoded(将要编码的帧数)进行了控制,原本是500,我改了一个较小的数字,只编码40帧,方便测试。

3、把下面的Quantization处的QP改成了37,查了下网上其他大佬的博客,有一位大佬说是改成37更快一些,原理还没弄懂,先这么改着,(0-51的区间范围均可),并在码流文件和重编码的文件的名称上标注不是默认的改成了37QP的。

准备工作基本就绪,接下来打开build文件夹下我们早编译生成好的sln文件:

1、首先生成编解码的exe文件。
这里面的
EncoderApp.exe:编码器
DecoderApp.exe:解码器
这里编译的都是DebugX64版本,若想编译Release版本,可以在下图中框处选择
这俩版本区别:
Debug大,编码慢
Release小,编码快
在调整成为release和x64这两个地方的情况下,点开生成-清理解决方案。然后再点击重新生成解决方案,等待完成。

完成后即可在下图对应的目录下找到Decoder和Encoder的exe文件。

将所用到的这两个文件复制到刚刚自己的测试文件夹中:

最后新建一个批处理文件,输入以下编解码指令:

EncoderApp.exe   -c D:\AA_Work\VVC\VVCSoftware_VTM-VTM-10.0\20_8_15FirstTest\encoder_intra_vtm.cfg   > Enc_Out.txt
DecoderApp.exe   -b str37.bin -o dec.yuv
pause

其中 -c 表示编码指令,-b表示解码指令,-o表示输出指令:

解释一下:第一行首先执行编码.exe文件,然后读取对应VTM文件目录下的cfg文件,按其中的配置进行编码,并输出编码结果的相关数据到Enc_Out.txt文件中。

第二行首先执行解码的.exe文件,然后把编码后得到的二进制码流(bin文件)进行解码。最后输出解码后的重建YUV文件。

最后一行的pause是为了不让cmd在执行完后自动退出,便于及时发现bug。

双击执行该批处理文件。执行过程如下图所示:

失败:

原因竟然是因为我一直都是把如下的.YUV视频,放在相同名字的文件夹里导致cmd命令中test.bat里面的路径没办法找到该。YUV文件。

成功: 这里根据电脑实际环境和硬件配置的不同,可能编解码的时长会有所不同,如果cmd一直持续这个状态不退出,就证明正在运行,耐心等待即可。

成功执行完后,Enc_Out.txt文件和最终的cmd处打印出来的语句如下图所示:

补充:Enc_Out.txt可以显示编码性能,里面记录了其中5帧码率、以及各YUV三个分量的PSNR(图像峰值信噪比)测试结果,最后一行还有5帧的平均性能指标。后面可以自己改写一些代码,然后通过这个输出文件可以将自己测试方案的性能和该软件原本的性能相比较,如果码率上升且PSRN降低,大致说明测试方案性能是降低的。反之,说明性能良好。但是如果同升同降则不好判断。

最终该测试文件夹下所有涉及到的、生成的文件,如下图所示:

有一个疑问:为什么编码过程也会出来一个rec37.yuv,它和dec.yuv有什么区别呢?
如果说rec37.yuv编码前的,dec.yuv是编码后的,那么最初的BasketballDrillText_832x480_50.yuv又是个什么角色呢,难道是按照.cfg配置文件截取的某一段视频(就是我们上面说的帧数是40的那段视频吧就是编码前的rec37.yuv)
好吧 我再接着学习吧,暂时这么理解。

11、最终为了证明编解码过程后,编码前和解码后的yuv视频一致,没有发生任何改变,可以通过Beyond Compare这个程序进行比较,二进制相同,没有任何差别之处,证明测试成功。

12.分享一个软件,一个是YUVPlayer打开YUV格式的视频同时我们编码生成的YUV和解码之后的YUV也可以通过其观看。

  1. 打开网址:https://sourceforge.net/projects/raw-yuvplayer/

    点击下载即可,文件很小。一会就下载好了。

  2. 下载之后解压。打开即可

    3、打开之后就可以打开我们的YUV格式的视频。


    上面有一些功能,最上面的是视频的分辨率和帧数,还有一些窗口,很简单。不多做介绍了。

尤其注意一个这个经过VTM后的视频的位深竟然是10,我感觉有点疑惑


这里用的播放器版本是YUVPlayer 1.6

YUV Player Deluxe: 很好用,但是试用后,要收费;

13.yuv 文件下载地址:

YUV文件下载地址

VTM_10软件下载、安装和初步测试相关推荐

  1. 【RobotStudio学习笔记】(一)软件的安装与初步测试

    RobotStudio 6.03.02 的安装 链接:https://pan.baidu.com/s/1NyDTu_OCcPJLbfaQLtCHCw 提取码:robo 1. 安装注意事项 (1)PC用 ...

  2. spark1.3.0__for_hadoop2.4.1编译、安装与初步测试

    文章来源:http://blog.csdn.net/javastart/article/details/44558997 spark1.3.0__for_hadoop2.4.1编译.安装与初步测试 分 ...

  3. Vehicle Spy 软件下载安装手册

    Vehicle Spy 软件下载安装手册 一.Vehicle Spy软件简介 Vehicle Spy 是美国英特佩斯公司的一款集成了诊断.节点/ECU仿真.数据获取.自动测试和车内通信网络监控等功能的 ...

  4. ubuntu系统vim常用命令学习以及ubuntu软件下载安装

    文章目录 一.ubuntu系统vim常用命令学习 (一)进入进入vim编辑器的方式 (二)vi的三种工作方式 (三)退出vi的命令 (四)命令模式下的各种命令 1.光标移动命令 2.插入命令 3.删除 ...

  5. ubuntu下常用软件下载安装

    ubuntu下常用软件下载安装 1.jdk apt-get install openjdk-8-jdk 检查是否安装成功 java -version 2.mysql 安装 apt-get update ...

  6. comsol6.1软件下载+安装教程

    comsol6.1软件下载+安装教程 comsol6.1引入了分离涡模拟.卫星热分析.电机绕组布局和稳定的机械接触等新功能. 软件下载链接:https://pan.baidu.com/s/18957q ...

  7. c盘gnway是什么文件_壹拓网科技详解金万维天联标准版软件下载安装登录流程

    金万维天联标准版,是一款问世十几年的稳定的智能组网软件,通过纯软件组网,从而可以方便安全快速的使得不在同一个局域网下的设备实现互通,接下来壹拓网科技将讲述金万维天联标准版软件下载安装登录的具体流程: ...

  8. 柚子壁纸为什么自动安装_嗨铃声软件下载安装-嗨铃声手机铃声v1.0免费版下载...

    嗨铃声软件下载安装是全新的铃声APP,只有有来电就能响起,热门壁纸各种各样的图片.动态静态的都能挑选,来电秀秀出风格! 嗨铃声软件下载安装介绍 完全免费,随心设置 海量热门歌曲铃声- 海量热门炫酷壁纸 ...

  9. cortona3d介绍以及软件下载安装使用

    cortona3d介绍以及软件下载安装使用 作为一个码农来说,cortona3d,what?这是什么东东?没办法,无论你想不想看,你都得去解决这个问题,所以也就开始了我的cortona3d的探索之路. ...

  10. 取消苹果商店简短验证_苹果12怎么下载软件-IPhone12软件下载安装方法介绍

    苹果12怎么下载软件?当我们购买了最新款的IPhone12手机之后,通常需要安装自己常用的软件到新手机,那苹果12软件怎么下载安装,苹果12怎么下载软件,IPhone12软件下载怎么下,下面就和小编一 ...

最新文章

  1. 深入浅出Android动态载入jar包技术
  2. Spring核心--IOCAOP
  3. [TCP/IP] SSL的通讯原理
  4. LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法...
  5. mysql performance tuning_MySQL Performance tuning
  6. java用beaninfo_JavaBeanInfo 和 Spring 之间的关系
  7. H5活动产品设计指南基础版
  8. python 取整_马克的Python学习笔记#数字,日期和时间
  9. 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
  10. excel中如何动态地创建控件以显示查询结果_一起学Excel专业开发02:专家眼中的Excel及其用户...
  11. 20220227:力扣第282场周赛(上)
  12. 企业分布式微服务云SpringCloud SpringBoot mybatis (八)消息总线(Spring Cloud Bus)
  13. UHD X310 MTU 大于1472 windows配置方法
  14. 微信小程序圣诞帽_构建圣诞快乐Web应用程序界面
  15. Unity2d 学习笔记(四)碰撞检测
  16. Linux perf: 为什么采样频率设置为99Hz而不是100Hz?
  17. Spring Boot整合海外第三方支付Coda Payments
  18. Idea注释模板——让你的代码看起来更完美
  19. IT大企业有哪些病,别被这些病毁了自己?
  20. 腾讯云服务器远程连接登录流程

热门文章

  1. 150家老字号将进故宫过大年 推介民族品牌
  2. 四足机器人——舵机控制
  3. matlab中整流器怎么用,Simscape Electrical
  4. PHP环境如何实现在线解压缩zip等压缩文件,简单实用的初级网络编程技巧
  5. 解决部分Android手机播放MP4视频外音是杂音的问题,耳机播放正常
  6. 安卓开发基础知识1(双摄像头安卓手机)
  7. 数据可视化工具宝藏简单
  8. SpringBoot整合Redisson
  9. 从BBS上转的 关于职业生涯
  10. 【安卓学习之MP3】 MP3读取格式