VTM编解码配置运行

2023-10-10 02:10
文章标签 配置 运行 编解码 vtm

本文主要是介绍VTM编解码配置运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、新建测试文件夹

二、打开VTM工程

三、编码

四、解码

五、编码分析

六、编码结果可视化


一、新建测试文件夹

创建新的测试文件夹,并用日期标注一下自己的测试时间,测试目的;放入视频序列(需要提前下载好)。

视频序列资源:链接:https://pan.baidu.com/s/1mF1QuUQb7YQClv4ANWgPIw 
提取码:1027 
 

二、打开VTM工程

1.使用VS打开build中NextSoftware.sln。

 2.工程打开后,常用的几个软件,EncoderApp:编码软件;DecoderApp:解码软件;DecoderAnalyserApp:编码分析软件。每个软件在lib中都有自己的库函数,其中做实验中使用到的EncoderLib最多,而每个软件中很少有功能型函数,大部分都是配置文件。

3.调试模式选择,调试模式有release和debug,常用release模式(比debug模式编码快很多)。选择调试模式release和x64:生成——生成解决方案。

(一般默认工作目录是:项目目录\bin\vs16\msvc-19.29\x86_64\release).完成后打开工作目录。把所需要的编码软件,解码软件,解析软件,复制到测试文件夹。

4.VTM使用是需要配置参数的,参数包括cfg和输入参数。VTM目录下cfg文件夹中存储了公共测试的配置文件,分为4种

 

下面就以encoder_intra_vtm.cfg为例,将encoder_intra_vtm.cfg复制到测试文件夹下。打开encoder_intra_vtm.cfg。在File I/O部分设置编码视频序列和输出序列名等信息(这些信息下载的视频序列中包含此文档,复制粘贴部分修改即可)。

 注:InputFile 为视频序列所在文件夹下的地址

5.目前测试文件夹中包含encoder_intra_vtm.cfg,EncoderApp.exe,DecoderApp.exe,DecoderAnalyserApp.exe,视频序列

三、编码

第一步:打开右键EncoderApp属性——调试——命令参数(-c encoder_intra_vtm.cfg >out.txt)——工作目录(修改为测试文件夹地址)。

注:-c 后面的就是测试文件夹中设置好的配置文件

>out.txt 是将编码过程中的在控制台界面输出的信息,写入到out.txt中

第二步,右键EncoderApp——调试——启动新实例。

第三步,测试文件夹中,多出了xxx.bin、xxx.yuv(这两个文件是encoder_intra_vtm.cfg在File I/O部分设置编码视频序列和输出序列名)和out.txt

注:测试文件夹生成的.bin文件是码流,在作为解码器的输入文件之一。xxx.yuv是编码视频序列

四、解码

第一步:打开右键DencoderApp属性——调试——命令参数(-b xxx.bin -o dePartyScene.yuv)——工作目录(修改为测试文件夹地址)。

注:-b指定输入的二进制码流,即编码输出码流文件,-o指定输出的yuv文件。

第二步,右键DencoderApp——调试——启动新实例。

第三步,测试文件夹中,多出了dePartyScene.yuv(是解码视频序列)

五、编码分析

第一步,要使用块统计扩展,需要在编译时将宏ENABLE_TRACING和K0149_BLOCK_STATISTICS设置为1。(在VS中搜索全部文档可以搜索到)统计信息在编码段和解码端都可以获取到。 此扩展为测试软件在“dtrace”功能中添加了额外的跟踪通道,主要是以下两个:D_BLOCK_STATISTICS_ALL:所有的语法元素都将被记录,无论他们是实际编码的还是获得的。D_BLOCK_STATISTICS_CODED:仅记录将进行编码的语法元素。


第二步,打开右键DecoderAnalyserApp属性——调试——命令参数(-b intra_akiyo_cif.bin --TraceFile=“De_VTM7_xxxxx.vtmbmsstats” --TraceRule=“D_BLOCK_STATISTICS_ALL:poc>=0”)——工作目录(修改为测试文件夹地址)。

第三步,测试文件夹中,多出了De_VTM7_xxxxx.vtmbmsstats(是分析视频序列)

六、编码结果可视化

1.下载并安装YUView软件,链接:https://pan.baidu.com/s/1es1bkt9P-ATf0Upi6YpbWQ 
提取码:1027 

2.添加文件步骤

2.1.在软件的右上角Item里右键新建Ovelay Item

3.2将编码生成的.yuv文件和AnalyseserApp生成的.vtmbmsstats文件添加到Ovelay Item里,拖动调整使得.yuv在上,.vtmbmsstats在下

3.3点击Item窗口中的.yuv文件,在YUV File Properties窗口内设置 YUV Format设置.yuv显示格式,如果使用默认cfg配置文件,选择YUV 4:2:0 10-bit LE


4.点击Overlay Item,在Overlay Properties窗口将Overlay打钩。下面一列打钩的可选择查看的信息

 

本笔记参考其他博主;原文链接:https://blog.csdn.net/Zzhaoyongbo/article/details/109136642

这篇关于VTM编解码配置运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数