#Jimmy 视频编码# VVC视频编码:在ubuntu20.04上运行VTM

写在前面

在项目的doc文件夹里有software-manual.pdf文件,包含了VTM的下载和使用方法,以及对各个模块及其参数的说明。十分有用!
可以选择直接看这个文件然后把blog关掉了。
后面会再重复一遍:)

参考blog

如何在Windows下跑视频编码代码
Linux下运行VTM
VS2019运行VTM(win10)
Linux GCC常用命令
如何在ubuntu20.04上安装GCC
Generate Microsoft Visual Studio Solution for VTM — VVC Codec
在Linux上开始使用CMake工具
ubuntu安装cmake的几种方式

工具准备
  • gcc(编译器
  • gdb(调试器
  • Visual Studio Code
  • cmake(编译工具
安装步骤
  1. 安装gcc编译器,输入gcc -v和g++ -v指令判断编译环境是否已经配置好。
  2. 安装GDB调试器。
  3. 安装cmake。
  4. 在vs code上安装扩展工具。
    Run->Install Additional Debuggers
  • C/C++
  • Code Runner
  • cmake tools
    Extensions
  1. 下载VTM官方标准测试模型
  2. 解压VTM文件并在vs code中打开。可以看到根目录有一个CMakeLists.txt文件。然后开始配置cmake tools。
  • 在vs code中打开命令面板(Ctrl+Shift+P),选择CMake:Select a kit,可以看到系统上找到的编译器列表。选择一个要使用的编译器,选择完毕后可以看到vs code下方状态栏会显示所选择的工具包。
    状态栏
  • 再次Ctrl+Shift+P,选择CMake:Select Variant,选择一个构建项目的生成类型。(一般选择Release)
  • 再次Ctrl+Shift+P,选择CMake:Configue。将会配置项目,生成build文件在项目的build文件夹。
  • 最后Ctrl+Shift+P,选择CMake:Build,或者直接点击状态栏上的build按钮。
  1. 如何使用VTM
    据说是和HEVC的测试模型HM是一样的用法,但是我就都没有怎么用过,简单地记录一下。
    (在项目的doc文件夹里有software-manual.pdf文件,包含了VTM的下载和使用方法,以及对各个模块及其参数的说明。十分有用!)

(个人习惯)新建一个experiment文件夹,将bin目录中的EncoderAppStaticd和DecoderAppStaticd,cfg目录的encoder_intra_vtm.cfg(有好几个cfg文件,看需求用),以及用于重新编码的.yuv视频序列,都放到这个文件夹里。

首先是修改配置文件。在File I/O模块里补充参数配置(必须,不然编码会报错):

#======== File I/O =====================
InputFile                     : MarketPlace_1920x1080_60fps_10bit_420.yuv
InputBitDepth                 : 8          # Input bitdepth
InputChromaFormat             : 420        # Ratio of luminance to chromina
FrameRate                     : 50         # Frame Rate per second
FrameSkip                     : 0          # Number of frames to be skipped
SourceWidth                   : 832        # Input  frame width
SourceHeight                  : 480        # Input  frame height
FramesToBeEncoded             : 40         # Number of frames to be coded

Level                         : 3.1
BitstreamFile                 : rec1203.bin
ReconFile                     : rec1203.yuv

还有经常需要修改的参数是QP和TemporalSubsampleRatio
QPTemporalSubsampleRatio
其他的参数一般不需要改变。

Ps:由于编码每个视频序列时,这些常规参数通常都会有变化,为了保持配置文件的清爽,可以把这些需要修改的参数放在一个新建的.cfg文件里,文件名称最好和视频序列名称对应。在运行编码器时候,就可以用这个.cfg文件对于原始.cfg的修改内容进行覆盖。

终于要开始运行了!

一个直接在原配置文件上修改的输入。 把输入信息定向到指定的.txt中存放。

./EncoderAppStatic -c encoder_intra_vtm.cfg > test1202_log.txt

一个用新配置文件对原配置文件内容做覆盖的输入。

./EncoderAppStatic -c encoder_intra_vtm.cfg -c test1202.cfg > test1202_log.txt

编码完成将得到重建文件和二进制码流文件。
编码获得文件

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值