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

2023-11-10

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

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

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

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

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

Windows下VVC参考软件VTM10.0编译和运行 的相关文章

  • 【H.264/AVC视频编解码技术详解】十七:帧内预测编码的预测实现方法

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • VTM新手踩坑

    VTM踩坑实录 1 编码后yuv文件打开异常 2 编码帧数偏少 3 VTM命令行参数 1 编码后yuv文件打开异常 利用ffmpeg播放改文件 命令行 ffplay video size 宽x高 i file name yuv 时出现该画面
  • ios ffmpeg 保存mp4

    废话不说 直接上代码 header写入成功 void init mp4saving AVFormatContext pFormatCtx videoStreamin int videoStream savenamein NSString s
  • HEVC学习之码流分析

    一 从分层编解码框架到NAL单元 以H 264为例 H 264适应不同网络之间的传输 主要原因是引入了分层结构 分为视频编码层 VCL 与网络抽象层 NAL 从而实现压缩编码与网络传输分离 通过H 264算法压缩的后的数据通过NAL VCL
  • 【H.264/AVC视频编解码技术详解】二十二、熵编码(7):语法元素的CABAC解析

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • 使用Visual Studio编译ffmpeg

    一 首先参照下面的链接配置和编译 FFmpeg在VS2017下的编译 vs2017 ffmpeg源码编译 鱼儿 1226的博客 CSDN博客 vs2019编译ffmpeg源码为静态库动态库 完整步骤 亲测可行 ffmpeg vs 令狐掌门的
  • H.264 入门篇 - 11 (帧间预测 - DPB 管理策略)

    DPB 对解码图像的存储有个策略 更倾向于存储对后面编码有用的图像 也就是参考图像 虽然说 DPB 中也可以存储非参考图像 在DPB没满的时候 会无差别地把参考图像与非参考图像一并插入DPB中 但是一旦DPB满了之后 如果新重建的图像为参考
  • 不使用采集卡,实现相机手机多机位直播

    背景 因为直播需求 现在想实现使用一台相机和一台手机完成直播的两个机位设定 搜了很多视频都是要购买采集卡 违背了性价比这一原则 搜索半天之后 根据当前的设备完成了任务 硬件材料 苹果手机一部 佳能单反 所需软件 1 OBS 主要是用来集成各
  • 详解JPEG编码格式

    参考文章1 参考文章2 MJPEG是一种视频压缩格式 其中的每一帧图像都使用JPEG编码 实际上 M J P E G
  • 压缩伪影的探讨

    1 压缩伪影的由来 常用的视频编码器中 在一个框架中使用了多种编码方法 01 预测编码 不编码预测值 而是编码预测值与实际值的差值 02 变换编码 对信号的样本值进行某种形式的函数变换 从一种空间变换到另一种空间 然后再根据信号在另一个空间
  • g++ 编译pybind

    简单的 g O3 march native Wall shared std c 11 fPIC undefined python3 m pybind11 includes example cpp o example python3 conf
  • Windows下VVC参考软件VTM10.0编译和运行

    1 预备工作 VTM软件下载 链接https vcgit hhi fraunhofer de jvet VVCSoftware VTM tree masterhttps vcgit hhi fraunhofer de jvet VVCSof
  • H.264 入门篇 - 10 (帧间预测 - 参考帧列表修改/重排)

    目录 0 写在前面 1 参考帧列表修改 重排 1 1 短期参考帧的修改 1 1 1 计算 picNumLXPred 1 1 2 计算 picNumLXNoWrap 1 1 3 计算 picNumLX 1 1 4 修改参考帧列表 1 2 长期
  • web端播放视频之rtsp协议转HLS

    rtsp协议转HLS rtsp转hls协议 一 前言 1 传统安防行业 2 新兴直播行业 二 实现 1 rtsp转为HLS 2 提供http服务 3 组件封装dll 三 测试 1 使用vlc测试hls 2 使用nginx测试hls 3 实时
  • 流媒体服务器 客户端播放器方案推荐

    https github com jacke121 stream rtsp 使用说明 貌似把rtsp转为webrtc 但是没有把图片编码为webrtc Example config json server httpPort 8000 htt
  • ffpmeg相对无损转换mkv到mp4,保留标签、封面等元数据

    其实这个无损是相对无损 不是绝对无损 因为mkv封装支持的格式 标签等是比mp4封装要多的 比如mkv可以封装wav音频 mp4不能封装wav音频 所以这里的无损的前提是该mkv的媒体流 标签 TAG 封面图等 都是Mp4本身支持的 才能无
  • H264实时编码及NALU,RTP传输

    原文引用地址 http wmnmtm blog 163 com blog static 382457142011920102618122 fromdm fromSearch isFromSearchEngine yes H264实时编码及N
  • H.264概述

    我的百科 我的贡献 草稿箱 百度首页 登录 新闻 网页 贴吧 知道 MP3 图片 视频 百科 帮助设置 添加到搜藏 返回百度百科首页 编辑词条 H 264
  • 在linux服务器上进行VTM的cmake并进行编解码

    前不多言 直接进入主题 一 上传VTM源码至linux服务器端 源码压缩包可以去这个网站进行下载 二 上传后使用linux操作命令解压 unzip xxx zip 三 解压后进行cmake操作 输入命令行进行操作 第一步 进入至解压后的vt
  • H.265/HEVC编码结构

    H 265 HEVC编码结构 为了增强各种应用下操作的灵活性以及数据损失的鲁棒性 H 265 HEVC在编解码的设计上添加了多种新的语法结构 相较于以往的视频编码标准 如H 264 AVC 这种新的语法架构使得H 265 HEVC在压缩效率

随机推荐

  • GDB下查看内存命令(x命令)

    GDB下查看内存命令 x命令 你可以使用examine命令 简写是x 来查看内存地址中的值 x命令的语法如下所示 x
  • 计算机软件摊销会计分录,财务软件摊销会计分录怎么写?

    摘要 这是一篇关于财务软件摊销会计分录怎么写 的文章 在财务软件摊销会计分录怎么写 文章中给各位财务人员讲解的是有关财务软件摊销会计分录怎么写 的会计实务处理 财务软件摊销会计分录怎么写 外帐按规定财务软件应该按无形资产处理10年摊销 或跟
  • vcruntime140.dll无法继续执行代码?vcruntime140.dll如何修复?只需要3步即可

    vcruntime140 dll是用于Microsoft Visual C Redistributable 可再发行组件 的一部分 它是一个动态链接库文件 包含了该软件包提供的运行库 在许多应用程序和游戏中 vcruntime140 dll
  • 深入理解Java中的BigInteger和 BigDecimal,再也不怕面试了

    Integer类作为int的包装类 能存储的最大整型值为2 31 1 Long类最大为2 63 1 虽然比Integer类大了很多 但是也是有限的 如果想要表示更大的整数 不管是基本数据类型还是它们对应的包装类都无法实现 Java中提供了两
  • 20221102模型调用 报错invalid load key, ‘\x00‘.invalid load key, ‘\x10‘.

    一 模型保存和调用 保存方法不一样 调用方法也不一样 joblib import joblib 保存 joblib dump model model1 pkl 加载 model joblib load open model1 pkl rb
  • 深拷贝构造函数和浅拷贝构造函数

    深拷贝构造函数和浅拷贝构造函数 拷贝构造函数有深拷贝构造函数和浅拷贝构造函数 分类 拷贝构造函数分为深拷贝构造函数和浅拷贝构造函数 区别 浅拷贝 即只复制对象空间 不复制对象资源 深拷贝 既复制对象空间又复制资源 由C 语言提供的默认拷贝构
  • leetcode 3. 无重复字符的最长子串

    题目描述 初始化 ans for 初始化慢指针 0 快指针 0 in 可迭代集合 更新窗口内信息 while 窗口内不符合维护的条件 扩展或者收缩窗口 慢指针移动 if 是合法的答案 更新答案 返回 ans 给定一个字符串 s 请你找出其中
  • Spring Boot2配置Swagger2生成API接口文档

    一 Swagger2介绍 前后端分离开发模式中 api文档是最好的沟通方式 Swagger 是一个规范和完整的框架 用于生成 描述 调用和可视化 RESTful 风格的 Web 服务 及时性 接口变更后 能够及时准确地通知相关前后端开发人员
  • 数据库备份工具有哪些

    本文主要介绍下数据库备份工具 数据库备份工具有很多种 以下是一些常见的数据库备份工具 mysqldump MySQL官方提供的命令行备份工具 适用于MySQL和MariaDB数据库 它可以将数据库导出为SQL文件 方便进行备份和恢复 属于逻
  • 测试用例(进阶篇)(测试的分类)

    目录 一 测试金字塔 二 按照开发阶段划分 1 单元测试 2 集成测试 3 系统测试 4 验收测试 三 按照测试的实施组织划分 1 测试 2 测试 3 第三方 四 按照是否运行划分 1 静态测试 2 动态测试 五 按照是否手工划分 1 手工
  • Jetson Orin NX install Pytorch

    steJInstalling PyTorch for Jetson Platform NVIDIA Docshttps docs nvidia com deeplearning frameworks install pytorch jets
  • JS 常用插件——下拉刷新、上拉加载,左右滑动,移动端调试,图片预览、放大缩小、旋转

    常用插件大全 非常好用 可以达到事半功倍的效果 下拉刷新 上拉加载 mescroll 上下 左右滑动 better scroll 移动端调试 Vconsole 图片预览 放大缩小 旋转 viewerjs 对象转字符串 并以 拼接成URL q
  • Python 将数据写入csv、xlsx、xls文件中(工厂方法、封装、优雅)

    记录 将数据写入csv xlsx xls文件中 工厂方法 封装 优雅 前言 文件目录存放结构 my file save py wrapper verify param py 封装csv my csv py 工厂方法 savedata fac
  • vite、vue3本地页面正常显示不刷新,外网穿透后页面不停刷新

    明明本地不会刷新 但映射到外网就会不停刷新页面 百度了一篇CSDN文章 vite项目 通过外网域名访问 无限刷新 的解决办法 没有解决我的问题 我使用的是natapp进行外网穿透 报错信息是 WebSocket connection to
  • C++ 生成随机数

    C 库有一个名为 rand 的函数 每次调用该函数都将返回一个非负整数 要使用 rand 函数 必须在程序中包含
  • 软件工程第一次阅读作业

    项目 内容 本作业属于北航软件工程课程 博客园班级链接 作业要求请点击链接查看 作业要求 我在这门课程的目标是 成为一个具有一定经验的软件开发人员 这个作业在哪个具体方面帮助我实现目标 让我对自己目前的状况有一个更加清醒的认识 1 快速阅读
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • jQuery如何判断input元素是否获得焦点(点击编辑时)

    问题提出 如果你要判断input元素是否获得焦点 或者是否处在活动编辑状态 使用jQuery的 hasFocus 方法或 is focus 方法貌似都无效 搜索网上给出的办法 几乎净是采用上述处理方法 然并卵 都是扯淡 我的解决办法 监听点
  • Caffe中对MNIST执行train操作执行流程解析

    之前在 http blog csdn net fengbingchun article details 49849225 中简单介绍过使用Caffe train MNIST的文章 当时只是仿照caffe中的example实现了下 下面说一下
  • Windows下VVC参考软件VTM10.0编译和运行

    1 预备工作 VTM软件下载 链接https vcgit hhi fraunhofer de jvet VVCSoftware VTM tree masterhttps vcgit hhi fraunhofer de jvet VVCSof