VideoEncodeConfig类
参数名 |
类型 |
说明 |
---|---|---|
width |
int |
编码后视频帧数据的宽,默认值:1920,必须与待编码图片的宽(original_width)一致。
|
height |
int |
编码后视频帧数据的高,默认值:1080,必须与待编码图片的高(original_height)一致。
|
outputVideoFormat |
StreamFormat枚举类 |
编码后输出的视频格式,H.264格式视频支持base.h264_baseline_level、base.h264_main_level和base.h264_high_level三种格式,H.265格式视频只支持base.h265_main_level格式。默认值为“base.h264_main_level”。 |
inputImageFormat |
image_format枚举类 |
输入的图像格式,只支持base.nv12、base.nv21两种格式,默认值为:base.nv12。 |
keyFrameInterval |
int |
视频I帧间隔大小,默认为30。
|
srcRate |
int |
输入码流帧率,单位fps,默认为30。
|
rcMode |
int |
|
shortTermStatsTime |
int |
码率短期统计时间,单位为秒,默认值为“60”,取值范围:[1, 120]。 该参数仅在Atlas 推理系列产品上,且“rcMode”为5时生效。 |
longTermStatsTime |
int |
码率长期统计时间,单位为分钟,默认值为“120”,取值范围:[1, 1440]。 该参数仅在Atlas 推理系列产品上,且“rcMode”为5时生效。 |
longTermMaxBitRate |
int |
编码器输出长期最大码率,单位为kbps,默认值为“300”。取值范围:[2, maxBitRate]。 该参数仅在Atlas 推理系列产品上,且“rcMode”为5时生效。 |
longTermMinBitRate |
int |
编码器输出长期最小码率,单位为kbps,默认值为“0”。取值范围:[0, longTermMaxBitRate]。 该参数仅在Atlas 推理系列产品上,且“rcMode”为5时生效。 |
maxBitRate |
int |
输出码率,单位kbps,默认值为300。
|
ipProp |
int |
一个GOP内单个I帧bit数和单个P帧bit数的比例,默认值为70,取值范围[1, 100]。 |
sceneMode |
int |
场景模式。默认值为“0”。
该参数仅在Atlas 推理系列产品上生效。 说明:
当输出视频格式设置为“H.264”并且“sceneMode”设置为“1”时,由于H.264不支持高码率下运动场景,sceneMode值将自动切换成“0”。 |
displayRate |
int |
输出视频的播放帧率,默认值为“30”,取值范围[1, 120]。 该参数仅在Atlas 推理系列产品上生效。 |
statsTime |
int |
码率统计时间,以秒为单位,默认值为“1”,取值范围:[1, 60]。 该参数仅在Atlas 推理系列产品上生效。 |
firstFrameStartQp |
int |
设置第一帧的起始Qp值,默认值为“32”,取值范围:[0, 47]。 该参数仅在Atlas 推理系列产品上生效。 |
SetThresholdI |
func |
用于设置I帧宏块级码率控制的Madi(用于度量当前帧的空域纹理复杂度)门限。 参数说明请参见SetThresholdI参数说明。 该参数仅在Atlas 推理系列产品上生效。 |
SetThresholdP |
func |
用于设置P帧宏块级码率控制的Madi(用于度量当前帧的空域纹理复杂度)门限。 参数说明请参见SetThresholdP参数说明。 该参数仅在Atlas 推理系列产品上生效。 |
SetThresholdB |
func |
用于设置B帧宏块级码率控制的Madi(用于度量当前帧的空域纹理复杂度)门限。 参数说明请参见SetThresholdB参数说明。 该参数仅在Atlas 推理系列产品上生效。 |
direction |
int |
在基于纹理宏块级码率控制时,用于控制加减方向。默认值为“8”,取值范围:[0, 16]。 该参数仅在Atlas 推理系列产品上生效。 |
rowQpDelta |
int |
行级码率控制调节幅度是一帧内行级调节的最大范围,其中行级以宏块行为单位。调节幅度越大,允许行级调整的QP范围越大,码率越平稳。 对于图像复杂度分布不均匀的场景,行级码率控制调节幅度设置过大会带来图像质量不均匀。 默认值为“1”,取值范围:[0, 10],设置为“0”表示关闭基于行的宏块级码率控制。 该参数仅在Atlas 推理系列产品上生效。 |
SetThresholdI参数说明
参数名 |
类型 |
说明 |
---|---|---|
threshold_i |
list |
list中值的取值范围:[0,255]。如果不通过此函数设置thresholdI的值,thresholdI默认值为[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]。 减方向的数值设置为“0”,表示关闭当前级;加方向的数值设置为“255”,表示关闭当前级。 |
SetThresholdP参数说明
参数名 |
类型 |
说明 |
---|---|---|
threshold_p |
list |
list中值的取值范围:[0,255]。如果不通过此函数设置thresholdP的值,thresholdP默认值为[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]。 减方向的数值设置为“0”,表示关闭当前级;加方向的数值设置为“255”,表示关闭当前级。 |
SetThresholdB参数说明
参数名 |
类型 |
说明 |
---|---|---|
threshold_b |
list |
list中值的取值范围:[0,255]。如果不通过此函数设置thresholdB的值,thresholdB默认值为[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]。 减方向的数值设置为0,表示关闭当前级;加方向的数值设置为255,表示关闭当前级。 |
推荐配置
以下为视频采集场景下推荐的参数配置,可以保证较好的视频编码质量,其他场景下请根据实际应用对应调整。
画质/分辨率 |
srcRate |
keyFrameInterval |
maxBitRate |
---|---|---|---|
4K 3840 * 2160/4096 * 2160 |
25或30 |
50或60 |
|
2K 2560 * 1440 |
25或30 |
50或60 |
|
1080P(蓝光) 1920 * 1080 |
25或30 |
50或60 |
|
720P(高清) 1280 * 720 |
25或30 |
50或60 |
|
480P/D1_N(标清) 854 * 480/720 * 480 |
25或30 |
50或60 |
|
576P/D1 (标清) 720 * 576 |
25或30 |
50或60 |
|
270P(流畅) 480 * 270 |
25或30 |
50或60 |
- |
CIF P/N 352 * 288/320 * 240 |
25或30 |
50或60 |
|