Skip to content

ksc265_appencoder_appdecoder_test

zhuzhengzz edited this page Jul 3, 2017 · 2 revisions

KSC265编解码器sample测试程序使用说明


[TOC]

编码器Sample测试程序使用说明

金山云H.265编码器Sample, 是在编码器SDK上封装的简单测试程序, 使用方法类似于HM, x264/x265测试程序. 可以读入YUV文件, 输出H.265码流. 可在定QP、定码率等多种情况下与其他编码器进行性能上的对比测试.

测试程序采用命令行配置, 基本配置如下:

配置 是否必配 取值 说明
-preset string (superfast, veryfast, fast, medium, slow,veryslow) 速度档次, 默认值veryfast
-tune default, selfshow, game, movie, screen 应用场景, 默认值default, 其他暂无作用
-latency zerolatency, lowdelay, livestreaming, offline 延迟档次, 默认offline
-i string 输入YUV文件名
-wdt * int 输入图像宽度
-hgt * int 输入图像高度
-fr * double 帧率
-b string 输出265文件名
-rc 0: disbale,1:cbr, 2: abr, 3: crf 码控开关和类型(恒定qp,恒定码率,平均码率和恒定质量), 默认值为1
-qp * 0~51 如果rc=0, 必须设置qp, 默认值为30
-qpmin * 0~51 码率控制过程中, 帧级最小使用的QP. 如果rc=1或2, 可设置qpmin
-qpmax * 0~51 码率控制过程中, 帧级最大使用的QP. 如果rc=1或2, 可设置qpmax
-br * int 如果rc为cbr或abr, 必须设置比特率, 单位为kbps, 默认值为500
-VbvBufSize * int 如果rc为cbr或abr, 可配置vbv缓冲区大小, 单位为kbits
-VbvMaxRate * int 如果rc为cbr或abr, 可配置vbv缓冲区编码最大码率, 单位为kbps
-crf * 0~51 如果rc为crf, 必须配置crf, 默认值为30
-psnr 0,1,2 0: disable计算psnr; 1: 计算并输出最终psnr;2: 输出每帧psnr. 默认值为0
-iper int 关键帧间隔, 单位为帧数, 默认256
-tlayer int 是否使用时间分级, 在QY265LATENCY_ZERO和QY265LATENCY_LOWDELAY两个延迟档次使用. 0:关闭, 1:打开. 默认值为0
-threads int 线程数, 设为0则等于CPU核数, 默认值0
-bframes int 相邻两个前向参考图像间最大使用的B帧数目. 不配置或值为-1时, 表示使用默认值7. 目前支持0,1,3,7.
-wpp 0, 1 是否使能wpp并行, 默认值1
-fpp 0, 1 是否使能帧级并行, 默认值1
-frms int 测试帧数, 设为-1或大数则跑完所有帧, 默认值-1
-o string 输出重建YUV文件名, 不设置该选项则不输出. 输出YUV可用于查看主观质量和采用第三方psnr工具验证编码器自身计算psnr的正确性

是否必配栏目带*号的为特定条件下必配.

-preset和-tune会将所有编码工具和参数按照应用场景和速度档次配成默认值. 如果额外设置编码工具, 则覆盖-preset和-tune生成的默热值, 以额外设置的为准.

如果输入yuv文件名类似于Johnny_1280x720_60.yuv, 测试程序可以自动解析分辨率和帧率. 模式为(width)x(height)_(fps). 输入文件名不满足该模式的条件下, 分辨率和帧率必配.

示例:./appencoder -i /home/yuv/720P/Johnny_1280x720_60.yuv -preset superfast -latency offline -rc 2 -bitrate 300 -psnr 2

测试程序还可通过配置文件, 或配置文件+命令行组合的方式进行配置, 如

./appencoder –c test.cfg –psnr 1 –psnr 2 后面的配置将会覆盖前面命令行以及文件中写入的配置. 比如上例psnr最终等于2.

此外,

./appencoder –help查看帮助 ./appencoder –v查看版本号

解码器Sample测试程序使用说明

金山云H.265解码器Sample, 是在解码器SDK上封装的简单测试程序, 使用方法类似于HM. 可以读入H.265码流文件, 输出解码重建YUV文件. 可与其他解码器进行性能上的对比测试.

测试程序采用命令行配置, 基本配置如下:

配置 是否必配 取值 说明
-b string 输入H.265码流文件名
-o string 输出重建YUV文件名, 不设置该选项则不输出.
-threads int 线程数, 设为0则等于CPU核数, 默认值0

使用示例:

./appdecoder –b aaa.265

./appdecoder –b aaa.265 –o out.yuv –threads 4