在linux服务器/系统上编译运行VTM

本文介绍的是如何将windows系统的已配置完成的项目放在linux系统上运行

我使用的是featurize服务器做的,传文件直接拖动就好了(featurize链接:featurize

如果需要直接在linux系统或虚拟机上做的话,需要用fileZilla在windows到Ubutun系统之间互传,总体步骤相同

test.zip是一个在windows封装好的编码器压缩包,包含我的测试序列

1.把windows下的VTM项目移动到Ubutun系统或虚拟机

(使用云服务器的话直接看2)

新建虚拟机

1.下载镜像

2.在虚拟机里新建

参考:vmware创建Ubuntu虚拟机https://blog.csdn.net/yyayq/article/details/116897378

用filezilla把文件从windows传到Ubuntu

参考:FileZilla的下载与安装以及简单使用(有图解超简单)https://blog.csdn.net/weixin_45309916/article/details/107782070

1.先安装filezilla

2.在ubuntu中打开FTP服务


出现问题:无法获得锁

image-20230225091716484

参考1:成功解决E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁(/var/lib/dpkg/lock

https://blog.csdn.net/bean_business/article/details/112347645

未解决,出现新问题:

image-20230225091940229

image-20230225092559809

已解决

无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)https://blog.csdn.net/microfhu/article/details/7669010

成功的话会出现以下内容

image-20230225092824441


保存并退出的命令:

参考:linux 进入编辑文件,保存退出相关命令https://blog.csdn.net/qq_26369317/article/details/82384324


3.运行filezilla


查看系统ip

参考:如何在 Linux 中查看 IP 地址Linux教程Linux公社-Linux系统门户网站 (linuxidc.com)

image-20230225094738052


image-20230225094928336

 

d6e4c8df4079b9fa5097c8f3c1bb4e9

 

成功就会出现内容

image-20230225095047683

4.传输文件

image-20230225095552893

 

image-20230225095617289

2.在linux系统(以云服务器为例)运行VTM

 具体步骤:

1.在服务器解压缩test.zip

image-20230303115033267

2.删除原来的build,建一个空build

image-20230303115108689

3.终端cd进build文件夹输入命令

cmake .. -DCMAKE_BUILD_TYPE=Release

cmake .. -DCMAKE_BUILD_TYPE=Debug

image-20230303115335443

4.开始编译

make -j

image-20230303084625933

编译失败,没到100,开始在代码里找原因

image-20230303085544584

使用了无效路径,注掉

重新载入服务器编译

成功

image-20230303115755761

编译完成后bin目录下会出现DecoderAppStatic和EncoderAppStatic

image-20230303120156618

5.删掉测试文件夹里无用的文件并把DecoderAppStatic和EncoderAppStatic复制进去

image-20230303115925036

测试文件夹应包含以下必要内容

image-20230303120337986

6.test.bat是windows下的批处理文件,需要改成对应的linux版本(.sh文件)

我的初步需求是:使用同一个测试序列同时使用多个不同的QP值,不开启码率控制编码,并输出到不同的文件当中

这里面使用4个QP测试

image-20230303121148944

7.分别将encoder_intra_vtm.cfg和RaceHorseC.cfg的路径修改一下(我在windows里使用的是绝对路径)

image-20230303121455093

image-20230303121527749

8.cd进测试文件夹下,用sh命令运行批处理文件

sh test.sh

这里面有一个权限不够的问题

image-20230303122013718

需要输入命令提升权限

sudo chmod 777 EncoderAppStatic

image-20230303122727406

此时已经编码开始

9.查看进度

无法直接双击或在同一终端vi命令查看写入内容

image-20230303123225033

新建终端,用vi命令查看输出文件

image-20230303123342492

image-20230303123322611

此为命令行模式,无法修改(一直在写入也不能修改),正常进入编辑模式按i

退出按

:q 回车

10.其他相关linux命令

ls:查看所有文件列表

image-20230303123735397

Tab:打文件名打一半按tab可以自动弹出

image-20230303123933435

按top可以查看每个进程占用CPU情况

image-20230303142312719

参考:

(40条消息) Linux下运行VTM_no-class-memaccess_zzz131313的博客-CSDN博客

在linux服务器上进行VTM的cmake并进行编解码_在服务器上跑vtm_B gorgeous的博客-CSDN博客

(40条消息) Linux——vi命令详解_傲骄鹿先生的博客-CSDN博客

(40条消息) linux查看各进程占用cpu/内存情况linux查看各个进程内存占用炎升的博客-CSDN博客

posted on 2023-03-06 09:55  托马斯源  阅读(423)  评论(0编辑  收藏  举报