Windows下VVC参考软件VTM10.0编译和运行

2023-10-10 02:10

本文主要是介绍Windows下VVC参考软件VTM10.0编译和运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 预备工作

①VTM软件下载:

链接https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tree/masterhttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tree/master

 ②cmake下载:

链接https://cmake.org/download/https://cmake.org/download/

 cmake安装:链接https://blog.csdn.net/qq_42951560/article/details/115905723https://blog.csdn.net/qq_42951560/article/details/115905723

请下载该文件,然后按照上述博客进行安装

 然后安装好之后文件如下图所示(正常来说,环境变量是不需要手动配置的,软件提供了自动配置选项,请参考上述博客)

③visual studio 2017下载

 首先下载安装器 链接https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=o~msft~vscom~older-downloadshttps://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=o~msft~vscom~older-downloads

然后安装visual studio 2017 社区版(建议这个地方将自己的安装目录、缓存目录、插件目录配置好,以免后期出现问题 )

推荐安装模块:

 至此,准备工作完成。

 2. 使用cmake编译VTM

 在这个地方有两种方案进行编译,既然已经下载了cmake-gui,那直接使用cmake-gui会更加方便。

打开cmake-gui,其主界面如图所示(两张图)

序号说明:

1:这里应填入VTM的主目录,例如F:/VVCSoftware_VTM-master/VVCSoftware_VTM-master

2:这里应该填入VTM的编译结果目录(一般为build),例如F:/VVCSoftware_VTM-master/VVCSoftware_VTM-master/build

3:上述过程配置完之后,点击configure,此时应该会弹出来一个窗口,

 

 第一行是选择visual studio版本(下图是版本对应的,按需选择即可。注意不要选择过旧版本)

 <2017版本测试通过>

 第二行是选择generate平台(默认为32,此处应选择x64!!!)

如果这个地方不选,就会在visual studio里面生成时出现x64与x86冲突"

 问题是如果没有弹出这个选择版本的窗口,在cmake主界面file--delete cache(清除缓存),然后重新配置上述信息即可。

 4:点击generate

此时,VTM文件夹中出现了build子文件夹

3. 使用visual studio生成

 打开build子文件夹中的该文件

 1:配置release/debug(release编码速度更快)

2:配置win32/x64(这里应该是x64,因为cmake那里设置的是x64)

3、4、5:右键EncoderApp属性--调试--设置工作目录(这个地方是生成EncoderApp.exe的目录)

6:点击”应用“

然后将EncoderApp设置为启动项目

 ctrl + F5(或者点击本地Windows调试器)以生成所需文件

然后等待生成完成后在对应的工作目录下可以看到所生成的EncoderApp.exe文件

4. 视频编码

  1.  新建一个文件夹A中
  2. 将生成的EncoderApp.exe和DecoderApp.exe拷贝到A中,然后将对应的cfg文件拷贝到文件夹A 
  3. 将对应视频文件拷贝到文件夹A

 两个文件分别为:BasketBallDrill.cfg和encoder_intra_vtm.cfg

 将视频序列对应的cfg文件内容复制粘贴到encoder_intra_vtm.cfg文件中(注意位置)

(额外修改FramesToBeEncoded,将500修改为30,减少编码时间)

 然后cmd至文件夹A路径下,执行

EncoderApp.exe -c encoder_intra_vtm.cfg >Enc.txt

 这个过程大概3-5分钟。

然后在文件夹A下会出现rec.yuv、str.bin等文件

 进阶修改:

将encoder_intra_vtm.cfg中的TemporalSubsampleRatio对应数值修改为1

建议将编码帧数进一步减小

 参考博客

链接1https://blog.csdn.net/Peter_Red_Boy/article/details/90321778https://blog.csdn.net/Peter_Red_Boy/article/details/90321778

链接2https://blog.csdn.net/zhang2039/article/details/105624481?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242https://blog.csdn.net/zhang2039/article/details/105624481?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242

链接3https://blog.csdn.net/sundy_ywz/article/details/107457957?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_linkhttps://blog.csdn.net/sundy_ywz/article/details/107457957?utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link

链接4https://blog.csdn.net/Zzhaoyongbo/article/details/109136642?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242https://blog.csdn.net/Zzhaoyongbo/article/details/109136642?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242

链接5https://blog.csdn.net/shmilyforyq/article/details/70903070https://blog.csdn.net/shmilyforyq/article/details/70903070

链接6https://blog.csdn.net/Peter_Red_Boy/article/details/90321778https://blog.csdn.net/Peter_Red_Boy/article/details/90321778

链接7https://blog.csdn.net/diaodaa/article/details/106122943https://blog.csdn.net/diaodaa/article/details/106122943

链接8https://blog.csdn.net/Zzhaoyongbo/article/details/109136642https://blog.csdn.net/Zzhaoyongbo/article/details/109136642

链接9https://blog.csdn.net/qq_37950762/article/details/102722205?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242https://blog.csdn.net/qq_37950762/article/details/102722205?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242

 链接10https://blog.csdn.net/jiamenghu/article/details/106296844https://blog.csdn.net/jiamenghu/article/details/106296844

链接11 https://blog.csdn.net/weixin_45615071/article/details/108754261?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-1.no_search_linkicon-default.png?t=M85Bhttps://blog.csdn.net/weixin_45615071/article/details/108754261?utm_medium=distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~default-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~default-1.no_search_link

 ------------------------------------------------------------------------

暂时写这些吧,没有写之前以为能用比较少的字把流程描述清楚。但是实际上开始写,才发现里面细节还是比较多的。

动手之前多看,动手的时候细心。

这篇关于Windows下VVC参考软件VTM10.0编译和运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/177193

相关文章

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、