前不多言,直接进入主题
一、上传VTM源码至linux服务器端
源码压缩包可以去这个网站进行下载
二、上传后使用linux操作命令解压
unzip xxx.zip
三、解压后进行cmake操作
输入命令行进行操作:
第一步:进入至解压后的vtm所在路径:例 cd /xx/xx/VVCSoftware_VTM-VTM-10.0
第二步:创建build文件夹:mkdir build
第三步:进入至build文件夹下:cd build
第四步: cmake … -DCMAKE_BUILD_TYPE=Release或者cmake … -DCMAKE_BUILD_TYPE=Debug
第五步:进行cmake:make -j
四、等进度条满100%了就大概完成了
若cmake成功则bin文件夹下会生成EncoderAppStatic和DecoderAppStatic,也就是编解码器。
五、写一个python脚本进行编解码
编码:
import os
import numpy as np
raw_path = '/xx/xx/raw00/' #测试集
# com_path = 'xx/xx/QP27/' #压缩后的yuv存放路径
bin_path = '/xx/xx/bin_RA_QP27/' #编码后的码流存放路径
raw_list = os.listdir(raw_path)
for i in range(len(raw_list)):
raw_yuvpath = raw_path + raw_list[i]
yuv_name = raw_list[i].split('.')[0]
yuv_width = yuv_name.split('_')[1].split('x')[0]
yuv_height = yuv_name.split('_')[1].split('x')[1]
yuv_frame = yuv_name.split('_')[2]
bin_path_final = bin_path + yuv_name
# com_path_final = com_path + yuv_name
print(yuv_name)
os.system('/xx/xx/VVCSoftware_VTM-VTM-10.0/bin/EncoderAppStatic -c /xx/xx/VVCSoftware_VTM-VTM-10.0/cfg//encoder_randomaccess_vtm_v1.cfg -i ' + raw_yuvpath + ' -b ' + bin_path_final + '.bin' + ' -f ' + str(yuv_frame) + ' -q 27 ' + ' -wdt ' + yuv_width + ' -hgt ' + yuv_height)
六、运行python脚本
python /xx/xx/run.py