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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10