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

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb