【视频编码学习】VTM15.0编译运行

2023-11-19

VTM版本:15.0
操作系统:Win10 x64位
IDE:Visual Studio 2019
编译器:cmake


前言

初次学习使用H.266/VVC参考软件(VTM15.0),记录详细过程,避免遗忘。
ECM软件的编译过程与VTM类似,可参考如下过程。


一、下载VTM15.0

VTM下载地址:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM

点击下图左侧选择VTM版本,然后点击右侧下载选择下载格式(zip、tar.gz、tar等,我选择zip)

补充ECM参考软件下载地址:
https://vcgit.hhi.fraunhofer.de/ecm/ECM/-/tags/ECM-6.0
VTM
下载之后可以先解压,放置在你想保存的文件夹,我的保存位置是D:\VVC_study\VVCSoftware_VTM-VTM-15.0(后面使用cmake编译是需要用到此位置的),可以在此目录下新建文件夹build,cmake编译后会在build里生成相应的编译文件(cmake编译时需要此build目录,即D:\VVC_study\VVCSoftware_VTM-VTM-15.0\build)。
VTMzip
解压后未编译的VTM文件的根目录

二、下载安装cmake

阅读VTM参考软件的手册software-manual(在目录D:\VVC_study\VVCSoftware_VTM-VTM-15.0\doc中),知道编译VTM的方法之一是使用cmake,这种方法比较简单,下面使用此方法编译VTM。

1. 下载cmake并安装

cmake下载地址:https://cmake.org/download/
选择x64位的版本,如下图黄色标记的Files,然后双击msi文件出现对话框后选择“运行”,我设置的安装目录是D:\VVC_study\CMake。
在这里插入图片描述

安装过程中需要勾选“把cmake加入系统变量”这一选项,这样在安装结束后就无需再把cmake相关路径加入到系统变量中。

2. 检查cmake是否安装成功

win+r后输入cmd:然后命令行输入cmake,若出现如下信息表明cmake安装成功,接下来就可以使用cmake编译VTM。
cmake

三、VTM编译

至此正确编译VTM的所有准备工作已结束,下面是具体的编译步骤。
编译方法可打开cmake软件,使用对话框方式,也可使用命令行方法,但是初学者对命令行方法比较陌生,因此这里采用对话框方法。

1. 打开cmake-gui.exe

在cmake安装目录的bin文件夹双击打开exe文件
在这里插入图片描述

2. 设置待编译的VTM路径以及VS版本配置

首先黄色标记的第一行路径是VTM根目录的路径;
第二行路径是在VTM根目录下新建build的路径,设置完两个路径之后点击下面的Configure,就会出现另一个对话框,要求配置VS版本,选择与系统安装VS版本一致的(VS2019),然后选择x64位,也是得与系统一致,最后勾选第一项“use default native compilers”,点击Finish。
(第一次编译时中间的Name和Value是空白的,因为我已经编译成功,这是第二次打开,所以就显示了Configuring done,以及显示了中间的文件。)

在这里插入图片描述
在这里插入图片描述

3. 生成build文件

点击Generate,显示Generating done表示配置成功,此时已在build文件夹生成相应的编译文件(注意bin文件夹是在后面sln工程里生成解决方案时才有的,此时是没有的)。若cmake编译之后没有build文件里的相关编译文件,则表明编译出现错误,需要重新编译。
(若第一次编译,在Generating done之后,中间的Name和Value显示红色背景,包含的文件与下图相同。)
在这里插入图片描述
在这里插入图片描述

【补充命令行方法】

第一,win+R后cmd进入命令行窗口,然后进入VTM参考软件存放的目录(比如:cd D:\VVC_study\VVCSoftware_VTM-VTM-15.0);
第二,输入mkdir build(即在此目录下创建build文件夹,存放cmake编译的工程);
第三,输入cd build
cmake .. -G "Visual Studio 16 2019"
(“Visual Studio 14 2015 Win64”)或( “Visual Studio 15 2017 Win64”)

4. 打开build文件的sln工程进行编译

使用cmake成功编译之后,在build文件夹可以找到VTM的sln工程,打开方式为VS2019。
在这里插入图片描述

第一步:右击EncoderApp,设置为启动项目;(编译方式默认Debug,可改为Release,区别是Release编译速度比Debug快,后面学习代码需要设置断点时必须为Degub模式)
第二步:点击生成或重新生成,此时工程会生成EncoderApp的可执行文件,VTM根目录会出现bin文件夹,此时生成的EncoderApp.exe在bin路径下(D:\VVC_study\VVCSoftware_VTM-VTM-15.0\bin\vs16\msvc-19.29\x86_64\release)。
第三步,若生成整个解决方案,则会出现其他exe,比如,设置DecoderApp为启动项目,生成exe的结果与EncoderApp相同。
第四步:ctrl+F5 运行程序,命令行显示运行结果,包括各种工具的激活状态等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
EncoderApp.exe:编码器
DecoderApp.exe:解码器

在这里插入图片描述


总结

以上是H.266/VVC参考软件VTM的下载、安装、编译的过程,之后可在此基础上修改编码器的输入输出参数,进行调试。

ECM编译过程类似,可参考上述步骤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【视频编码学习】VTM15.0编译运行 的相关文章

  • [Linux打怪升级之路]-文件操作

    前言 作者 小蜗牛向前冲 名言 我可以接受失败 但我不能接受放弃 如果觉的博主的文章还不错的话 还请点赞 收藏 关注 支持博主 如果发现有问题的地方欢迎 大家在评论区指正 目录 一 认识操纵系统下的文件 1 什么是文件 2 文件的类型 3
  • 医疗器械相关展会

    1 CMEF中国国际医疗器械博览会 始创于1979年 每年春秋两届 已成为亚太地区最大的医疗器械及相关产品 服务展览会
  • 机器学习实战项目总结

    1 预测模型新项目模板 机器学习是针对数据进行自动挖掘 找出数据的内在规律 并应用这个规律来预测新数据 一个很好的实践机器学习项目的方法 使用从UCI机器学习仓库链接 获取的数据集开启一个机器学习项目 分类或回归模型的机器学习项目可以分成以
  • Linux Nginx配置静态html

    Linux Nginx配置静态html 第一次接触服务器时 对项目部署和域名部署感觉很新鲜 有意思 很神奇 开始学习Nginx配置静态的HTML 使用工具 MobaXterm CHS exe 第一步 将html的项目放入服务器 将自己做好的
  • 【华为OD机试真题 JAVA】信道分配

    JS版 华为OD机试真题 JS 信道分配 标题 信道分配 时间限制 1秒 内存限制 262144K 语言限制 不限 算法工程师小明面对着这样一个问题 需要将通信用的信道分配给尽量多的用户 信道的条件及分配规则如下 1 所有信道都有属性 阶

随机推荐

  • origin中把多个拟合曲线放在一张图

    双击其中一个 或者New一个graph 这里直接双击其中一个图 右键 找到layer contents 可以看到 一个scatter配一个polynomial fit line 把剩下的B C D对应的点和拟合曲线添加进去 注意 这里的pl
  • 01、Java并发 Java ExecutorService

    ExecutorService 是 Java java util concurrent 包的重要组成部分 是 Java JDK 提供的框架 用于简化异步模式下任务的执行 一般来说 ExecutorService 会自动提供一个线程池和相关
  • 程序员如何做副业?35岁前,千万别让死工资绊住你赚钱的步伐

    近年来互联网行情下降 好多人都在思考要不要搞个副业来抵御风险 这不又来事了 这两天又爆了互联网大裁员 继阿里 向社会输送人才 之后 京东又搞了个 毕业礼 整的小伙伴们人心惶惶 副业的关注度又一波升级 那今天我们就来聊聊 程序员做副业这件事
  • cef编译

    按照大神的一遍过 具体过程非常详细 链接https kefong blog csdn net article details 119908780 spm 1001 2101 3001 6650 2 utm medium distribute
  • 《C++ Primer(第5版)》学习笔记(第5章)

    第5章 语句 C 提供了条件执行语句 循环语句和用于中断当前控制流的跳转语句 本章将具体介绍这些语句 5 1 简单语句 空语句 最简单的语句是空语句 只有一个单独的分号 如在程序的某个地方语法上需要一条语句但是逻辑上不需要 此时应该使用空语
  • 透过Python 将接收邮件邮件进行分类统计

    工作的需要自行学习了Python的一些功能 将所学的经验在这里分享给大家 文章目录 目录 文章目录 前言 一 环境准备 二 使用步骤 1 引入库 2 读入数据 总结 前言 工作中我们可能会透过邮件 让其他公司收集资料 在学会Python之前
  • 全网最最最轻量级检测网络 yolo-fastest 快速上手

    文章目录 0x01 Yolo Fastest 0x02 Prepare step1 clone step2 make step3 run darknet 0x03 Train step1 获取权重文件 step2 准备数据集 step3 修
  • 成功上岸字节35K,技术4面+HR面,耗时20天,真是不容易

    这次字节的面试 给我的感触很深 意识到基础的重要性 一共经历了五轮面试 技术4面 HR面 下面看正文 本人自动专业毕业 压抑了五个多月 终于鼓起勇气 去字节面试 下面是我的面试过程 很多面试题 都是靠记忆写的 希望能帮助到大家 致那些努力的
  • 初步认识操作系统(Operator System)

    操作系统 一 冯诺依曼体系结构 内存的重要作用 二 操作系统的概念 三 设计操作系统的目的 三 操作系统在计算机体系中的定位 四 操作系统是如何进行管理的 一 冯诺依曼体系结构 在众多计算机相关的书籍中 不得不提的就是冯诺依曼体系结构 冯诺
  • 无需魔法三分钟上线Midjourney应用,【附源码】【示例】

    ps 我是标题党 目前还没见过三分钟完成任务的 三分钟只能打通Midjourney接口 我花了一天时间接入应用哈哈哈 首先 我要感谢laf赞助我 让我可以免费使用Midjourney进行开发和测试 来自白嫖党的快乐 其次 我要感谢白夜 米开
  • Linux驱动编程(总线设备驱动模型)

    一 驱动编写的3种方法 1 传统写法 使用哪个引脚 怎么操作引脚 都写死在代码中 最简单 不考虑扩展性 可以快速实现功能 修改引脚时 需要重新编译 2 总线设备驱动模型 引入 platform device platform driver
  • 最近opencv又报了啥错(一)

    前言 别骂了别骂了 太久没打python 手贼生 最近在搞opencv和一些ocr 报了一堆错 有些是python的原生错误 有的是opencv的 有的是我nt 就全部记录一下吧 1 bad argument type for built
  • 端口监控信息

    netstat nlptu grep 8080 一 0 0 0 0 8080 代表8080端口 对内网和外网都是开放的 tcp 0 0 0 0 0 0 8080 0 0 0 0 LISTEN 123941 java 二 查看网卡的代码 da
  • KVM中使用usb设备

    进来学习usb驱动 看到网上都在分析usb skeleton c的驱动框架 就想对其调试一下 看一下其函数调用流程 要想调试usb skeleton 首先需要kvm能够探测到usb设备 其次 在kvm中编译usb skeleton c 最后
  • 深度学习要学多久?半年能入门深度学习吗?

    深度学习的学习时间因个人背景 目标和学习方法而异 不同人可能需要不同的时间来掌握深度学习 深度学习要学多久 通常情况下 入门深度学习可能需要几个月的时间 如果你已经有相关背景知识 学习进度可能会更快 以下是一些因素 可以影响学习深度学习所需
  • 解一元二次方程-Java语言实现

    前言 高考完的那个暑假我就开始自学C语言 那时候通过看视频和 C primer plus 写了一个解一元二次方程的程序 从此走上了吊打大学同班同学的路 但是那次是用C语言写的 如今白云苍狗 我已经不是曾经的那个我了 但我还是一如既往的废物
  • Java的内省技术

    什么是内省 在计算机科学中 内省是指计算机程序在运行时 Run time 检查对象 Object 类型的一种能力 通常也可以称作运行时类型检查 不应该将内省和反射混淆 相对于内省 反射更进一步 是指计算机程序在运行时 Run time 可以
  • 大数据面试-03-大数据工程师面试题

    2 13 简述hadoop的调度器 FIFO schedular 默认 先进先出的原则 Capacity schedular 计算能力调度器 选择占用最小 优先级高的先执行 依此类推 Fair schedular 公平调度 所有的job具有
  • 三十三.二叉树的创建、后序遍历、深度统计。

    include
  • 【视频编码学习】VTM15.0编译运行

    VTM版本 15 0 操作系统 Win10 x64位 IDE Visual Studio 2019 编译器 cmake 利用VS2019运行VTM15 0 前言 一 下载VTM15 0 二 下载安装cmake 1 下载cmake并安装 2