在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服务
出现问题:无法获得锁
参考1:成功解决E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁(/var/lib/dpkg/lock
https://blog.csdn.net/bean_business/article/details/112347645
未解决,出现新问题:
已解决
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)https://blog.csdn.net/microfhu/article/details/7669010
成功的话会出现以下内容
保存并退出的命令:
参考:linux 进入编辑文件,保存退出相关命令https://blog.csdn.net/qq_26369317/article/details/82384324
3.运行filezilla
查看系统ip
参考:
成功就会出现内容
4.传输文件
2.在linux系统(以云服务器为例)运行VTM
具体步骤:
1.在服务器解压缩test.zip
3.终端cd进build文件夹输入命令
cmake .. -DCMAKE_BUILD_TYPE=Release
或
cmake .. -DCMAKE_BUILD_TYPE=Debug
4.开始编译
make -j
编译失败,没到100,开始在代码里找原因
使用了无效路径,注掉
重新载入服务器编译
成功
编译完成后bin目录下会出现DecoderAppStatic和EncoderAppStatic
5.删掉测试文件夹里无用的文件并把DecoderAppStatic和EncoderAppStatic复制进去
测试文件夹应包含以下必要内容
6.test.bat是windows下的批处理文件,需要改成对应的linux版本(.sh文件)
我的初步需求是:使用同一个测试序列同时使用多个不同的QP值,不开启码率控制编码,并输出到不同的文件当中
这里面使用4个QP测试
7.分别将encoder_intra_vtm.cfg和RaceHorseC.cfg的路径修改一下(我在windows里使用的是绝对路径)
8.cd进测试文件夹下,用sh命令运行批处理文件
sh test.sh
这里面有一个权限不够的问题
需要输入命令提升权限
sudo chmod 777 EncoderAppStatic
此时已经编码开始
9.查看进度
无法直接双击或在同一终端vi命令查看写入内容
新建终端,用vi命令查看输出文件
此为命令行模式,无法修改(一直在写入也不能修改),正常进入编辑模式按i
退出按
:q 回车
10.其他相关linux命令
ls:查看所有文件列表
Tab:打文件名打一半按tab可以自动弹出
按top可以查看每个进程占用CPU情况
参考: